29 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
30 auto tmp =
static_cast<View
>(in.get(C::merkle_check_start)) *
31 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_start)));
35 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
37 static_cast<View
>(in.get(C::merkle_check_end)) * (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end)));
41 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
42 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_start)) +
static_cast<View
>(in.get(C::merkle_check_end))) *
43 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_sel)));
47 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
49 (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
50 (
static_cast<View
>(in.get(C::merkle_check_sel)) -
static_cast<View
>(in.get(C::merkle_check_sel_shift)));
54 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
55 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel_shift)) *
56 (
static_cast<View
>(in.get(C::merkle_check_start_shift)) -
CView(merkle_check_LATCH_CONDITION));
60 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
61 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
62 ((
CView(merkle_check_PATH_LEN_MIN_ONE) *
63 (
static_cast<View
>(in.get(C::merkle_check_end)) *
64 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_path_len_min_one_inv))) +
65 static_cast<View
>(in.get(C::merkle_check_path_len_min_one_inv))) -
67 static_cast<View
>(in.get(C::merkle_check_end)));
71 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
72 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
73 (
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<8, ContainerOverSubrelations>::View;
80 (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
81 (
static_cast<View
>(in.get(C::merkle_check_write_shift)) -
static_cast<View
>(in.get(C::merkle_check_write)));
85 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
86 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
87 (
static_cast<View
>(in.get(C::merkle_check_write_root_shift)) -
88 static_cast<View
>(in.get(C::merkle_check_write_root)));
92 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
93 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
94 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end))) *
95 ((
static_cast<View
>(in.get(C::merkle_check_path_len_shift)) -
96 static_cast<View
>(in.get(C::merkle_check_path_len))) +
101 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
102 auto tmp =
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
103 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_index_is_even)));
107 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
109 static_cast<View
>(in.get(C::merkle_check_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end))) *
110 ((
FF(2) *
static_cast<View
>(in.get(C::merkle_check_index_shift)) +
CView(merkle_check_INDEX_IS_ODD)) -
111 static_cast<View
>(in.get(C::merkle_check_index)));
115 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
116 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
117 (
static_cast<View
>(in.get(C::merkle_check_index)) -
CView(merkle_check_INDEX_IS_ODD));
121 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
122 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_read_left_node)) -
123 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
124 (
static_cast<View
>(in.get(C::merkle_check_read_node)) -
125 static_cast<View
>(in.get(C::merkle_check_sibling))) +
126 static_cast<View
>(in.get(C::merkle_check_sibling))));
130 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
131 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_read_right_node)) -
132 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
133 (
static_cast<View
>(in.get(C::merkle_check_sibling)) -
134 static_cast<View
>(in.get(C::merkle_check_read_node))) +
135 static_cast<View
>(in.get(C::merkle_check_read_node))));
139 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
140 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_write_left_node)) -
141 static_cast<View
>(in.get(C::merkle_check_write)) *
142 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
143 (
static_cast<View
>(in.get(C::merkle_check_write_node)) -
144 static_cast<View
>(in.get(C::merkle_check_sibling))) +
145 static_cast<View
>(in.get(C::merkle_check_sibling))));
149 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
150 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_write_right_node)) -
151 static_cast<View
>(in.get(C::merkle_check_write)) *
152 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
153 (
static_cast<View
>(in.get(C::merkle_check_sibling)) -
154 static_cast<View
>(in.get(C::merkle_check_write_node))) +
155 static_cast<View
>(in.get(C::merkle_check_write_node))));
159 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
160 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
161 (
static_cast<View
>(in.get(C::merkle_check_const_three)) -
FF(3));
165 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
166 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
167 (
static_cast<View
>(in.get(C::merkle_check_merkle_hash_separator_shift)) -
168 static_cast<View
>(in.get(C::merkle_check_merkle_hash_separator)));
172 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
173 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
174 (
static_cast<View
>(in.get(C::merkle_check_read_node_shift)) -
175 static_cast<View
>(in.get(C::merkle_check_read_output_hash)));
179 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
180 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
181 (
static_cast<View
>(in.get(C::merkle_check_write_node_shift)) -
182 static_cast<View
>(in.get(C::merkle_check_write_output_hash)));
186 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
187 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
188 (
static_cast<View
>(in.get(C::merkle_check_read_output_hash)) -
189 static_cast<View
>(in.get(C::merkle_check_read_root)));
193 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
194 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
195 (
static_cast<View
>(in.get(C::merkle_check_write_output_hash)) -
196 static_cast<View
>(in.get(C::merkle_check_write_root)));