32 auto tmp = (
FF(1) - in.get(C::precomputed_first_row)) * (
FF(1) - in.get(C::merkle_check_sel)) *
33 in.get(C::merkle_check_sel_shift);
34 tmp *= scaling_factor;
35 std::get<1>(evals) +=
typename Accumulator::View(tmp);
39 auto tmp = in.get(C::merkle_check_write) * (
FF(1) - in.get(C::merkle_check_write));
40 tmp *= scaling_factor;
41 std::get<2>(evals) +=
typename Accumulator::View(tmp);
45 auto tmp = in.get(C::merkle_check_start) * (
FF(1) - in.get(C::merkle_check_start));
46 tmp *= scaling_factor;
47 std::get<3>(evals) +=
typename Accumulator::View(tmp);
51 auto tmp = in.get(C::merkle_check_end) * (
FF(1) - in.get(C::merkle_check_end));
52 tmp *= scaling_factor;
53 std::get<4>(evals) +=
typename Accumulator::View(tmp);
57 auto tmp = in.get(C::merkle_check_end) * in.get(C::precomputed_first_row);
58 tmp *= scaling_factor;
59 std::get<5>(evals) +=
typename Accumulator::View(tmp);
64 in.get(C::merkle_check_sel_shift) * (in.get(C::merkle_check_start_shift) - merkle_check_LATCH_CONDITION);
65 tmp *= scaling_factor;
66 std::get<6>(evals) +=
typename Accumulator::View(tmp);
70 auto tmp = in.get(C::merkle_check_end) * (
FF(1) - in.get(C::merkle_check_sel));
71 tmp *= scaling_factor;
72 std::get<7>(evals) +=
typename Accumulator::View(tmp);
76 auto tmp = merkle_check_NOT_END * (in.get(C::merkle_check_read_root_shift) - in.get(C::merkle_check_read_root));
77 tmp *= scaling_factor;
78 std::get<8>(evals) +=
typename Accumulator::View(tmp);
82 auto tmp = merkle_check_NOT_END * (in.get(C::merkle_check_write_shift) - in.get(C::merkle_check_write));
83 tmp *= scaling_factor;
84 std::get<9>(evals) +=
typename Accumulator::View(tmp);
89 merkle_check_NOT_END * (in.get(C::merkle_check_write_root_shift) - in.get(C::merkle_check_write_root));
90 tmp *= scaling_factor;
95 auto tmp = merkle_check_NOT_END *
96 ((in.get(C::merkle_check_path_len_shift) - in.get(C::merkle_check_path_len)) +
FF(1));
97 tmp *= scaling_factor;
102 auto tmp = in.get(C::merkle_check_sel) *
103 ((merkle_check_REMAINING_PATH_LEN *
104 (in.get(C::merkle_check_end) * (
FF(1) - in.get(C::merkle_check_remaining_path_len_inv)) +
105 in.get(C::merkle_check_remaining_path_len_inv)) -
107 in.get(C::merkle_check_end));
108 tmp *= scaling_factor;
113 auto tmp = in.get(C::merkle_check_index_is_even) * (
FF(1) - in.get(C::merkle_check_index_is_even));
114 tmp *= scaling_factor;
119 auto tmp = merkle_check_NOT_END * ((in.get(C::merkle_check_index_shift) *
FF(2) + merkle_check_INDEX_IS_ODD) -
120 in.get(C::merkle_check_index));
121 tmp *= scaling_factor;
127 in.get(C::merkle_check_end) * in.get(C::merkle_check_index) * (
FF(1) - in.get(C::merkle_check_index));
128 tmp *= scaling_factor;
133 auto tmp = in.get(C::merkle_check_sel) *
134 ((in.get(C::merkle_check_index_is_even) *
135 (in.get(C::merkle_check_read_left_node) - in.get(C::merkle_check_read_right_node)) +
136 in.get(C::merkle_check_read_right_node)) -
137 in.get(C::merkle_check_read_node));
138 tmp *= scaling_factor;
143 auto tmp = in.get(C::merkle_check_sel) *
144 ((in.get(C::merkle_check_index_is_even) *
145 (in.get(C::merkle_check_read_right_node) - in.get(C::merkle_check_read_left_node)) +
146 in.get(C::merkle_check_read_left_node)) -
147 in.get(C::merkle_check_sibling));
148 tmp *= scaling_factor;
153 auto tmp = in.get(C::merkle_check_write) *
154 ((in.get(C::merkle_check_index_is_even) *
155 (in.get(C::merkle_check_write_left_node) - in.get(C::merkle_check_write_right_node)) +
156 in.get(C::merkle_check_write_right_node)) -
157 in.get(C::merkle_check_write_node));
158 tmp *= scaling_factor;
163 auto tmp = in.get(C::merkle_check_write) *
164 ((in.get(C::merkle_check_index_is_even) *
165 (in.get(C::merkle_check_write_right_node) - in.get(C::merkle_check_write_left_node)) +
166 in.get(C::merkle_check_write_left_node)) -
167 in.get(C::merkle_check_sibling));
168 tmp *= scaling_factor;
173 auto tmp = in.get(C::merkle_check_sel) * (in.get(C::merkle_check_constant_2) -
FF(2));
174 tmp *= scaling_factor;
180 merkle_check_NOT_END * (in.get(C::merkle_check_read_node_shift) - in.get(C::merkle_check_read_output_hash));
181 tmp *= scaling_factor;
186 auto tmp = merkle_check_NOT_END *
187 (in.get(C::merkle_check_write_node_shift) - in.get(C::merkle_check_write_output_hash));
188 tmp *= scaling_factor;
193 auto tmp = in.get(C::merkle_check_end) *
194 (in.get(C::merkle_check_read_output_hash) - in.get(C::merkle_check_read_root));
195 tmp *= scaling_factor;
200 auto tmp = in.get(C::merkle_check_end) *
201 (in.get(C::merkle_check_write_output_hash) - in.get(C::merkle_check_write_root));
202 tmp *= scaling_factor;