68 inline static void accumulate(ContainerOverSubrelations& evals,
71 const FF& scaling_factor)
74 using CoefficientAccumulator =
typename Accumulator::CoefficientAccumulator;
81 auto q_arith_sub_1 = q_arith_m -
FF(1);
82 auto scaled_q_arith = q_arith_m * scaling_factor;
96 static const FF neg_half =
FF(-2).invert();
99 auto tmp1 = (q_l_m * w_l_m) + (q_r_m * w_r_m) + (q_o_m * w_o_m) + (q_4_m * w_4_m) + q_c_m;
100 tmp1 += q_arith_sub_1 * w_4_shift_m;
110 auto tmp_0 = w_l_m + w_4_m - w_l_shift_m + q_m_m;
111 auto tmp_1 = tmp_0 * (q_arith_m -
FF(2));
112 auto tmp_2 = q_arith_sub_1 * scaled_q_arith;
113 std::get<1>(evals) += ShortAccumulator(tmp_1) * ShortAccumulator(tmp_2);