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_sel)) *
43 ((
CView(merkle_check_PATH_LEN_MIN_ONE) *
44 (
static_cast<View
>(in.get(C::merkle_check_end)) *
45 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_path_len_min_one_inv))) +
46 static_cast<View
>(in.get(C::merkle_check_path_len_min_one_inv))) -
48 static_cast<View
>(in.get(C::merkle_check_end)));
52 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
53 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
54 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_sel_shift))) *
55 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end)));
59 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
60 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_start)) +
static_cast<View
>(in.get(C::merkle_check_end))) *
61 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_sel)));
65 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
66 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
67 (
static_cast<View
>(in.get(C::merkle_check_read_root_shift)) -
68 static_cast<View
>(in.get(C::merkle_check_read_root)));
72 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
74 (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
75 (
static_cast<View
>(in.get(C::merkle_check_write_shift)) -
static_cast<View
>(in.get(C::merkle_check_write)));
79 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
80 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
81 (
static_cast<View
>(in.get(C::merkle_check_write_root_shift)) -
82 static_cast<View
>(in.get(C::merkle_check_write_root)));
86 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
87 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
88 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end))) *
89 ((
static_cast<View
>(in.get(C::merkle_check_path_len_shift)) -
90 static_cast<View
>(in.get(C::merkle_check_path_len))) +
95 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
96 auto tmp =
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
97 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_index_is_even)));
101 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
103 static_cast<View
>(in.get(C::merkle_check_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end))) *
104 ((
FF(2) *
static_cast<View
>(in.get(C::merkle_check_index_shift)) +
CView(merkle_check_INDEX_IS_ODD)) -
105 static_cast<View
>(in.get(C::merkle_check_index)));
109 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
110 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
111 (
static_cast<View
>(in.get(C::merkle_check_index)) -
CView(merkle_check_INDEX_IS_ODD));
115 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
116 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_read_left_node)) -
117 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
118 (
static_cast<View
>(in.get(C::merkle_check_read_node)) -
119 static_cast<View
>(in.get(C::merkle_check_sibling))) +
120 static_cast<View
>(in.get(C::merkle_check_sibling))));
124 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
125 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_read_right_node)) -
126 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
127 (
static_cast<View
>(in.get(C::merkle_check_sibling)) -
128 static_cast<View
>(in.get(C::merkle_check_read_node))) +
129 static_cast<View
>(in.get(C::merkle_check_read_node))));
133 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
134 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_write_left_node)) -
135 static_cast<View
>(in.get(C::merkle_check_write)) *
136 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
137 (
static_cast<View
>(in.get(C::merkle_check_write_node)) -
138 static_cast<View
>(in.get(C::merkle_check_sibling))) +
139 static_cast<View
>(in.get(C::merkle_check_sibling))));
143 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
144 auto tmp = (
static_cast<View
>(in.get(C::merkle_check_write_right_node)) -
145 static_cast<View
>(in.get(C::merkle_check_write)) *
146 (
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
147 (
static_cast<View
>(in.get(C::merkle_check_sibling)) -
148 static_cast<View
>(in.get(C::merkle_check_write_node))) +
149 static_cast<View
>(in.get(C::merkle_check_write_node))));
153 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
154 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
155 (
static_cast<View
>(in.get(C::merkle_check_read_node_shift)) -
156 static_cast<View
>(in.get(C::merkle_check_read_output_hash)));
160 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
161 auto tmp = (
FF(1) -
CView(merkle_check_LATCH_CONDITION)) *
162 (
static_cast<View
>(in.get(C::merkle_check_write_node_shift)) -
163 static_cast<View
>(in.get(C::merkle_check_write_output_hash)));
167 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
168 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
169 (
static_cast<View
>(in.get(C::merkle_check_read_output_hash)) -
170 static_cast<View
>(in.get(C::merkle_check_read_root)));
174 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
175 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
176 (
static_cast<View
>(in.get(C::merkle_check_write_output_hash)) -
177 static_cast<View
>(in.get(C::merkle_check_write_root)));