26 for (
const auto&
event : events) {
39 auto write_row = [&]() {
40 FF cmp_rng_ctr_inv = precomputed_inverses.at(
static_cast<size_t>(cmp_rng_ctr));
42 { { { C::ff_gt_sel, 1 },
43 { C::ff_gt_a,
event.a },
44 { C::ff_gt_b,
event.b },
45 { C::ff_gt_result,
event.gt_result },
46 { C::ff_gt_sel_dec, sel_dec },
47 { C::ff_gt_sel_gt, sel_gt },
48 { C::ff_gt_constant_128, 128 },
49 { C::ff_gt_a_lo, a_limbs.
lo },
50 { C::ff_gt_a_hi, a_limbs.
hi },
51 { C::ff_gt_p_a_borrow, p_sub_a_witness.
borrow },
52 { C::ff_gt_p_sub_a_lo, p_sub_a_witness.
lo },
53 { C::ff_gt_p_sub_a_hi, p_sub_a_witness.
hi },
54 { C::ff_gt_b_lo, b_limbs.
lo },
55 { C::ff_gt_b_hi, b_limbs.
hi },
56 { C::ff_gt_p_b_borrow, p_sub_b_witness.
borrow },
57 { C::ff_gt_p_sub_b_lo, p_sub_b_witness.
lo },
58 { C::ff_gt_p_sub_b_hi, p_sub_b_witness.
hi },
59 { C::ff_gt_borrow, res_witness.
borrow },
60 { C::ff_gt_res_lo, res_witness.
lo },
61 { C::ff_gt_res_hi, res_witness.
hi },
62 { C::ff_gt_cmp_rng_ctr, cmp_rng_ctr },
63 { C::ff_gt_sel_shift_rng, cmp_rng_ctr > 0 },
64 { C::ff_gt_cmp_rng_ctr_inv, cmp_rng_ctr_inv } } });
67 while (cmp_rng_ctr >= 0) {
75 a_limbs.
lo = p_sub_a_witness.
lo;
76 a_limbs.
hi = p_sub_a_witness.
hi;
77 p_sub_a_witness.
lo = b_limbs.
lo;
78 p_sub_a_witness.
hi = b_limbs.
hi;
79 b_limbs.
lo = p_sub_b_witness.
lo;
80 b_limbs.
hi = p_sub_b_witness.
hi;
81 p_sub_b_witness.
lo = res_witness.
lo;
82 p_sub_b_witness.
hi = res_witness.
hi;