pub fn prove<SC: StarkGenericConfig, P: MachineProver<SC, RiscvAir<SC::Val>>>(
program: Program,
stdin: &SP1Stdin,
config: SC,
opts: SP1CoreOpts,
) -> Result<(MachineProof<SC>, Vec<u8>, u64), SP1CoreProverError>where
SC::Challenger: 'static + Clone + Send,
<SC as StarkGenericConfig>::Val: PrimeField32,
OpeningProof<SC>: Send,
Com<SC>: Send + Sync,
PcsProverData<SC>: Send + Sync,