32 auto tmp = in.get(C::keccak_memory_start_read) * (
FF(1) - in.get(C::keccak_memory_start_read));
33 tmp *= scaling_factor;
34 std::get<1>(evals) +=
typename Accumulator::View(tmp);
38 auto tmp = in.get(C::keccak_memory_start_write) * (
FF(1) - in.get(C::keccak_memory_start_write));
39 tmp *= scaling_factor;
40 std::get<2>(evals) +=
typename Accumulator::View(tmp);
44 auto tmp = (in.get(C::keccak_memory_start_read) + in.get(C::keccak_memory_start_write)) *
45 (in.get(C::keccak_memory_ctr) -
FF(1));
46 tmp *= scaling_factor;
47 std::get<3>(evals) +=
typename Accumulator::View(tmp);
51 auto tmp = in.get(C::keccak_memory_start_read) * in.get(C::keccak_memory_rw);
52 tmp *= scaling_factor;
53 std::get<4>(evals) +=
typename Accumulator::View(tmp);
57 auto tmp = in.get(C::keccak_memory_start_write) * (
FF(1) - in.get(C::keccak_memory_rw));
58 tmp *= scaling_factor;
59 std::get<5>(evals) +=
typename Accumulator::View(tmp);
63 auto tmp = (in.get(C::keccak_memory_ctr) *
64 ((
FF(1) - in.get(C::keccak_memory_sel)) * (
FF(1) - in.get(C::keccak_memory_ctr_inv)) +
65 in.get(C::keccak_memory_ctr_inv)) -
66 in.get(C::keccak_memory_sel));
67 tmp *= scaling_factor;
68 std::get<6>(evals) +=
typename Accumulator::View(tmp);
72 auto tmp = in.get(C::keccak_memory_ctr_end) * (
FF(1) - in.get(C::keccak_memory_ctr_end));
73 tmp *= scaling_factor;
74 std::get<7>(evals) +=
typename Accumulator::View(tmp);
78 auto tmp = in.get(C::keccak_memory_sel) *
79 (((in.get(C::keccak_memory_ctr) - constants_AVM_KECCAKF1600_STATE_SIZE) *
80 (in.get(C::keccak_memory_ctr_end) * (
FF(1) - in.get(C::keccak_memory_ctr_min_state_size_inv)) +
81 in.get(C::keccak_memory_ctr_min_state_size_inv)) +
82 in.get(C::keccak_memory_ctr_end)) -
84 tmp *= scaling_factor;
85 std::get<8>(evals) +=
typename Accumulator::View(tmp);
89 auto tmp = (in.get(C::keccak_memory_last) - (
FF(1) - (
FF(1) - in.get(C::keccak_memory_ctr_end)) *
90 (
FF(1) - in.get(C::keccak_memory_single_tag_error))));
91 tmp *= scaling_factor;
92 std::get<9>(evals) +=
typename Accumulator::View(tmp);
96 auto tmp = in.get(C::keccak_memory_sel) * (
FF(1) - in.get(C::keccak_memory_last)) *
97 ((in.get(C::keccak_memory_ctr_shift) - in.get(C::keccak_memory_ctr)) -
FF(1));
98 tmp *= scaling_factor;
103 auto tmp = in.get(C::keccak_memory_single_tag_error) * (
FF(1) - in.get(C::keccak_memory_single_tag_error));
104 tmp *= scaling_factor;
109 auto tmp = in.get(C::keccak_memory_rw) * in.get(C::keccak_memory_single_tag_error);
110 tmp *= scaling_factor;
115 auto tmp = in.get(C::keccak_memory_last) *
116 (in.get(C::keccak_memory_tag_error) - in.get(C::keccak_memory_single_tag_error));
117 tmp *= scaling_factor;
122 auto tmp = (
FF(1) - in.get(C::keccak_memory_last)) *
123 (in.get(C::keccak_memory_tag_error) - in.get(C::keccak_memory_tag_error_shift));
124 tmp *= scaling_factor;
129 auto tmp = in.get(C::keccak_memory_sel) * (
FF(1) - in.get(C::keccak_memory_last)) *
130 ((in.get(C::keccak_memory_addr) +
FF(1)) - in.get(C::keccak_memory_addr_shift));
131 tmp *= scaling_factor;
136 auto tmp = (
FF(1) - in.get(C::keccak_memory_last)) *
137 (in.get(C::keccak_memory_space_id) - in.get(C::keccak_memory_space_id_shift));
138 tmp *= scaling_factor;
143 auto tmp = (
FF(1) - in.get(C::keccak_memory_last)) *
144 (in.get(C::keccak_memory_clk_shift) - in.get(C::keccak_memory_clk));
145 tmp *= scaling_factor;
151 (
FF(1) - in.get(C::keccak_memory_last)) * (in.get(C::keccak_memory_rw_shift) - in.get(C::keccak_memory_rw));
152 tmp *= scaling_factor;
157 auto tmp = in.get(C::keccak_memory_sel) *
158 (keccak_memory_TAG_MIN_U64 * ((
FF(1) - in.get(C::keccak_memory_single_tag_error)) *
159 (
FF(1) - in.get(C::keccak_memory_tag_min_u64_inv)) +
160 in.get(C::keccak_memory_tag_min_u64_inv)) -
161 in.get(C::keccak_memory_single_tag_error));
162 tmp *= scaling_factor;
167 auto tmp = in.get(C::keccak_memory_single_tag_error) * (
FF(1) - in.get(C::keccak_memory_single_tag_error));
168 tmp *= scaling_factor;
173 auto tmp = (in.get(C::keccak_memory_val01) -
174 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val00_shift));
175 tmp *= scaling_factor;
180 auto tmp = (in.get(C::keccak_memory_val02) -
181 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val01_shift));
182 tmp *= scaling_factor;
187 auto tmp = (in.get(C::keccak_memory_val03) -
188 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val02_shift));
189 tmp *= scaling_factor;
194 auto tmp = (in.get(C::keccak_memory_val04) -
195 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val03_shift));
196 tmp *= scaling_factor;
201 auto tmp = (in.get(C::keccak_memory_val10) -
202 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val04_shift));
203 tmp *= scaling_factor;
208 auto tmp = (in.get(C::keccak_memory_val11) -
209 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val10_shift));
210 tmp *= scaling_factor;
215 auto tmp = (in.get(C::keccak_memory_val12) -
216 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val11_shift));
217 tmp *= scaling_factor;
222 auto tmp = (in.get(C::keccak_memory_val13) -
223 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val12_shift));
224 tmp *= scaling_factor;
229 auto tmp = (in.get(C::keccak_memory_val14) -
230 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val13_shift));
231 tmp *= scaling_factor;
236 auto tmp = (in.get(C::keccak_memory_val20) -
237 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val14_shift));
238 tmp *= scaling_factor;
243 auto tmp = (in.get(C::keccak_memory_val21) -
244 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val20_shift));
245 tmp *= scaling_factor;
250 auto tmp = (in.get(C::keccak_memory_val22) -
251 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val21_shift));
252 tmp *= scaling_factor;
257 auto tmp = (in.get(C::keccak_memory_val23) -
258 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val22_shift));
259 tmp *= scaling_factor;
264 auto tmp = (in.get(C::keccak_memory_val24) -
265 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val23_shift));
266 tmp *= scaling_factor;
271 auto tmp = (in.get(C::keccak_memory_val30) -
272 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val24_shift));
273 tmp *= scaling_factor;
278 auto tmp = (in.get(C::keccak_memory_val31) -
279 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val30_shift));
280 tmp *= scaling_factor;
285 auto tmp = (in.get(C::keccak_memory_val32) -
286 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val31_shift));
287 tmp *= scaling_factor;
292 auto tmp = (in.get(C::keccak_memory_val33) -
293 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val32_shift));
294 tmp *= scaling_factor;
299 auto tmp = (in.get(C::keccak_memory_val34) -
300 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val33_shift));
301 tmp *= scaling_factor;
306 auto tmp = (in.get(C::keccak_memory_val40) -
307 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val34_shift));
308 tmp *= scaling_factor;
313 auto tmp = (in.get(C::keccak_memory_val41) -
314 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val40_shift));
315 tmp *= scaling_factor;
320 auto tmp = (in.get(C::keccak_memory_val42) -
321 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val41_shift));
322 tmp *= scaling_factor;
327 auto tmp = (in.get(C::keccak_memory_val43) -
328 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val42_shift));
329 tmp *= scaling_factor;
334 auto tmp = (in.get(C::keccak_memory_val44) -
335 (
FF(1) - in.get(C::keccak_memory_last)) * in.get(C::keccak_memory_val43_shift));
336 tmp *= scaling_factor;
342 in.get(C::keccak_memory_sel) * (in.get(C::keccak_memory_num_rounds) - constants_AVM_KECCAKF1600_NUM_ROUNDS);
343 tmp *= scaling_factor;