pub fn prove_bivariate_sumchecks_with_switchover<F, P, DomainField, Transcript, Backend>(
witness: &MultilinearExtensionIndex<'_, P>,
constraint_sets: Vec<ConstraintSet<F>>,
transcript: &mut ProverTranscript<Transcript>,
switchover_fn: impl Fn(usize) -> usize + 'static,
domain_factory: impl EvaluationDomainFactory<DomainField>,
backend: &Backend,
) -> Result<Vec<EvalcheckMultilinearClaim<F>>, Error>where
P: PackedField<Scalar = F> + PackedExtension<F, PackedSubfield = P> + PackedExtension<DomainField>,
F: TowerField + ExtensionField<DomainField>,
DomainField: Field,
Transcript: Challenger,
Backend: ComputationBackend,