30 const auto emit_unencrypted_log_WRONG_TAG = (
FF(1) - in.get(C::emit_unencrypted_log_correct_tag));
34 auto tmp = in.get(C::emit_unencrypted_log_error) * (
FF(1) - in.get(C::emit_unencrypted_log_error));
35 tmp *= scaling_factor;
36 std::get<0>(evals) +=
typename Accumulator::View(tmp);
40 auto tmp = in.get(C::emit_unencrypted_log_start) * (
FF(1) - in.get(C::emit_unencrypted_log_start));
41 tmp *= scaling_factor;
42 std::get<1>(evals) +=
typename Accumulator::View(tmp);
46 auto tmp = in.get(C::emit_unencrypted_log_end) * (
FF(1) - in.get(C::emit_unencrypted_log_end));
47 tmp *= scaling_factor;
48 std::get<2>(evals) +=
typename Accumulator::View(tmp);
52 auto tmp = in.get(C::emit_unencrypted_log_end) * in.get(C::precomputed_first_row);
53 tmp *= scaling_factor;
54 std::get<3>(evals) +=
typename Accumulator::View(tmp);
58 auto tmp = in.get(C::emit_unencrypted_log_sel_shift) *
59 (in.get(C::emit_unencrypted_log_start_shift) - emit_unencrypted_log_LATCH_CONDITION);
60 tmp *= scaling_factor;
61 std::get<4>(evals) +=
typename Accumulator::View(tmp);
65 auto tmp = in.get(C::emit_unencrypted_log_start) * (
FF(1) - in.get(C::emit_unencrypted_log_sel));
66 tmp *= scaling_factor;
67 std::get<5>(evals) +=
typename Accumulator::View(tmp);
71 auto tmp = (in.get(C::emit_unencrypted_log_sel_shift) - in.get(C::emit_unencrypted_log_sel)) *
72 (
FF(1) - emit_unencrypted_log_LATCH_CONDITION);
73 tmp *= scaling_factor;
74 std::get<6>(evals) +=
typename Accumulator::View(tmp);
78 auto tmp = in.get(C::emit_unencrypted_log_end) * (
FF(1) - in.get(C::emit_unencrypted_log_sel));
79 tmp *= scaling_factor;
80 std::get<7>(evals) +=
typename Accumulator::View(tmp);
84 auto tmp = in.get(C::emit_unencrypted_log_start) *
85 ((constants_PUBLIC_LOG_SIZE_IN_FIELDS -
FF(1)) - in.get(C::emit_unencrypted_log_remaining_rows));
86 tmp *= scaling_factor;
87 std::get<8>(evals) +=
typename Accumulator::View(tmp);
91 auto tmp = emit_unencrypted_log_NOT_END * ((in.get(C::emit_unencrypted_log_remaining_rows) -
FF(1)) -
92 in.get(C::emit_unencrypted_log_remaining_rows_shift));
93 tmp *= scaling_factor;
94 std::get<9>(evals) +=
typename Accumulator::View(tmp);
99 in.get(C::emit_unencrypted_log_sel) *
100 ((in.get(C::emit_unencrypted_log_remaining_rows) *
101 (in.get(C::emit_unencrypted_log_end) * (
FF(1) - in.get(C::emit_unencrypted_log_remaining_rows_inv)) +
102 in.get(C::emit_unencrypted_log_remaining_rows_inv)) -
104 in.get(C::emit_unencrypted_log_end));
105 tmp *= scaling_factor;
111 in.get(C::emit_unencrypted_log_error_too_large) * (
FF(1) - in.get(C::emit_unencrypted_log_error_too_large));
112 tmp *= scaling_factor;
117 auto tmp = in.get(C::emit_unencrypted_log_start) *
118 (in.get(C::emit_unencrypted_log_max_log_size) - constants_PUBLIC_LOG_SIZE_IN_FIELDS);
119 tmp *= scaling_factor;
124 auto tmp = in.get(C::emit_unencrypted_log_error_out_of_bounds) *
125 (
FF(1) - in.get(C::emit_unencrypted_log_error_out_of_bounds));
126 tmp *= scaling_factor;
131 auto tmp = in.get(C::emit_unencrypted_log_start) *
132 (in.get(C::emit_unencrypted_log_max_mem_addr) - constants_AVM_HIGHEST_MEM_ADDRESS);
133 tmp *= scaling_factor;
138 auto tmp = in.get(C::emit_unencrypted_log_start) *
139 (((in.get(C::emit_unencrypted_log_log_address) + in.get(C::emit_unencrypted_log_log_size)) -
FF(1)) -
140 in.get(C::emit_unencrypted_log_end_log_address));
141 tmp *= scaling_factor;
146 auto tmp = emit_unencrypted_log_NOT_END * (in.get(C::emit_unencrypted_log_error_out_of_bounds_shift) -
147 in.get(C::emit_unencrypted_log_error_out_of_bounds));
148 tmp *= scaling_factor;
153 auto tmp = in.get(C::emit_unencrypted_log_error_too_many_logs) *
154 (
FF(1) - in.get(C::emit_unencrypted_log_error_too_many_logs));
155 tmp *= scaling_factor;
160 auto tmp = in.get(C::emit_unencrypted_log_start) *
161 ((emit_unencrypted_log_MAX_LOGS_MINUS_EMITTED *
162 (in.get(C::emit_unencrypted_log_error_too_many_logs) *
163 (
FF(1) - in.get(C::emit_unencrypted_log_max_logs_minus_emitted_inv)) +
164 in.get(C::emit_unencrypted_log_max_logs_minus_emitted_inv)) -
166 in.get(C::emit_unencrypted_log_error_too_many_logs));
167 tmp *= scaling_factor;
172 auto tmp = in.get(C::emit_unencrypted_log_error_tag_mismatch) *
173 (
FF(1) - in.get(C::emit_unencrypted_log_error_tag_mismatch));
174 tmp *= scaling_factor;
179 auto tmp = emit_unencrypted_log_NOT_END * (in.get(C::emit_unencrypted_log_error_tag_mismatch_shift) -
180 in.get(C::emit_unencrypted_log_error_tag_mismatch));
181 tmp *= scaling_factor;
187 in.get(C::emit_unencrypted_log_seen_wrong_tag) * (
FF(1) - in.get(C::emit_unencrypted_log_seen_wrong_tag));
188 tmp *= scaling_factor;
193 auto tmp = in.get(C::emit_unencrypted_log_start) *
194 (emit_unencrypted_log_WRONG_TAG - in.get(C::emit_unencrypted_log_seen_wrong_tag));
195 tmp *= scaling_factor;
200 auto tmp = emit_unencrypted_log_NOT_END *
201 (((
FF(1) - in.get(C::emit_unencrypted_log_seen_wrong_tag)) * emit_unencrypted_log_WRONG_TAG +
202 in.get(C::emit_unencrypted_log_seen_wrong_tag)) -
203 in.get(C::emit_unencrypted_log_seen_wrong_tag_shift));
204 tmp *= scaling_factor;
209 auto tmp = in.get(C::emit_unencrypted_log_end) * (in.get(C::emit_unencrypted_log_error_tag_mismatch) -
210 in.get(C::emit_unencrypted_log_seen_wrong_tag));
211 tmp *= scaling_factor;
216 auto tmp = in.get(C::emit_unencrypted_log_start) *
217 ((
FF(1) - in.get(C::emit_unencrypted_log_error_too_many_logs)) *
218 (
FF(1) - in.get(C::emit_unencrypted_log_error_tag_mismatch)) *
219 (
FF(1) - in.get(C::emit_unencrypted_log_is_static)) -
220 (
FF(1) - in.get(C::emit_unencrypted_log_error_too_many_logs_wrong_tag_is_static)));
221 tmp *= scaling_factor;
226 auto tmp = in.get(C::emit_unencrypted_log_start) *
227 ((
FF(1) - in.get(C::emit_unencrypted_log_error_too_large)) *
228 (
FF(1) - in.get(C::emit_unencrypted_log_error_out_of_bounds)) *
229 (
FF(1) - in.get(C::emit_unencrypted_log_error_too_many_logs_wrong_tag_is_static)) -
230 (
FF(1) - in.get(C::emit_unencrypted_log_error)));
231 tmp *= scaling_factor;
237 in.get(C::emit_unencrypted_log_start) *
238 ((
FF(1) - in.get(C::emit_unencrypted_log_error)) * (
FF(1) - in.get(C::emit_unencrypted_log_discard)) -
239 in.get(C::emit_unencrypted_log_sel_should_write_to_public_inputs));
240 tmp *= scaling_factor;
246 emit_unencrypted_log_NOT_END * (in.get(C::emit_unencrypted_log_sel_should_write_to_public_inputs_shift) -
247 in.get(C::emit_unencrypted_log_sel_should_write_to_public_inputs));
248 tmp *= scaling_factor;
253 auto tmp = in.get(C::emit_unencrypted_log_sel) * ((in.get(C::emit_unencrypted_log_prev_num_unencrypted_logs) +
254 (
FF(1) - in.get(C::emit_unencrypted_log_error))) -
255 in.get(C::emit_unencrypted_log_next_num_unencrypted_logs));
256 tmp *= scaling_factor;
262 in.get(C::emit_unencrypted_log_is_padding_row) * (
FF(1) - in.get(C::emit_unencrypted_log_is_padding_row));
263 tmp *= scaling_factor;
268 auto tmp = in.get(C::emit_unencrypted_log_start) *
269 (in.get(C::emit_unencrypted_log_log_size) - in.get(C::emit_unencrypted_log_remaining_log_size));
270 tmp *= scaling_factor;
275 auto tmp = emit_unencrypted_log_NOT_END * (
FF(1) - in.get(C::emit_unencrypted_log_is_padding_row)) *
276 ((in.get(C::emit_unencrypted_log_remaining_log_size) -
FF(1)) -
277 in.get(C::emit_unencrypted_log_remaining_log_size_shift));
278 tmp *= scaling_factor;
283 auto tmp = in.get(C::emit_unencrypted_log_sel) *
284 ((in.get(C::emit_unencrypted_log_remaining_log_size) *
285 (in.get(C::emit_unencrypted_log_is_padding_row) *
286 (
FF(1) - in.get(C::emit_unencrypted_log_remaining_log_size_inv)) +
287 in.get(C::emit_unencrypted_log_remaining_log_size_inv)) -
289 in.get(C::emit_unencrypted_log_is_padding_row));
290 tmp *= scaling_factor;
296 in.get(C::emit_unencrypted_log_sel) * ((
FF(1) - in.get(C::emit_unencrypted_log_error_out_of_bounds)) *
297 (
FF(1) - in.get(C::emit_unencrypted_log_is_padding_row)) -
298 in.get(C::emit_unencrypted_log_sel_should_read_memory));
299 tmp *= scaling_factor;
304 auto tmp = emit_unencrypted_log_NOT_END * ((in.get(C::emit_unencrypted_log_log_address) +
FF(1)) -
305 in.get(C::emit_unencrypted_log_log_address_shift));
306 tmp *= scaling_factor;
311 auto tmp = emit_unencrypted_log_NOT_END * (in.get(C::emit_unencrypted_log_execution_clk) -
312 in.get(C::emit_unencrypted_log_execution_clk_shift));
313 tmp *= scaling_factor;
318 auto tmp = emit_unencrypted_log_NOT_END *
319 (in.get(C::emit_unencrypted_log_space_id) - in.get(C::emit_unencrypted_log_space_id_shift));
320 tmp *= scaling_factor;
325 auto tmp = in.get(C::emit_unencrypted_log_sel) *
326 (
FF(1) - in.get(C::emit_unencrypted_log_sel_should_read_memory)) *
327 (
FF(0) - in.get(C::emit_unencrypted_log_value));
328 tmp *= scaling_factor;
333 auto tmp = in.get(C::emit_unencrypted_log_sel) *
334 (
FF(1) - in.get(C::emit_unencrypted_log_sel_should_read_memory)) *
335 (constants_MEM_TAG_FF - in.get(C::emit_unencrypted_log_tag));
336 tmp *= scaling_factor;
341 auto tmp = in.get(C::emit_unencrypted_log_correct_tag) * (
FF(1) - in.get(C::emit_unencrypted_log_correct_tag));
342 tmp *= scaling_factor;
347 auto tmp = in.get(C::emit_unencrypted_log_sel) *
348 ((in.get(C::emit_unencrypted_log_tag) * (in.get(C::emit_unencrypted_log_correct_tag) *
349 (
FF(1) - in.get(C::emit_unencrypted_log_tag_inv)) +
350 in.get(C::emit_unencrypted_log_tag_inv)) -
352 in.get(C::emit_unencrypted_log_correct_tag));
353 tmp *= scaling_factor;
358 auto tmp = in.get(C::emit_unencrypted_log_start) *
359 ((constants_AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_PUBLIC_LOGS_ROW_IDX +
360 in.get(C::emit_unencrypted_log_prev_num_unencrypted_logs) * constants_PUBLIC_LOG_SIZE_IN_FIELDS) -
361 in.get(C::emit_unencrypted_log_public_inputs_index));
362 tmp *= scaling_factor;
367 auto tmp = emit_unencrypted_log_NOT_END * ((in.get(C::emit_unencrypted_log_public_inputs_index) +
FF(1)) -
368 in.get(C::emit_unencrypted_log_public_inputs_index_shift));
369 tmp *= scaling_factor;
374 auto tmp = emit_unencrypted_log_NOT_END * (in.get(C::emit_unencrypted_log_contract_address) -
375 in.get(C::emit_unencrypted_log_contract_address_shift));
376 tmp *= scaling_factor;
381 auto tmp = emit_unencrypted_log_NOT_END *
382 (in.get(C::emit_unencrypted_log_log_size) - in.get(C::emit_unencrypted_log_log_size_shift));
383 tmp *= scaling_factor;