@@ -247,15 +247,19 @@ unsafe fn execute_e12_impl<F: PrimeField32, CTX: ExecutionCtxTrait>(
247247 ) ;
248248
249249 if round < max_round - 1 {
250- let ps: & [ F ] = if is_hint_space_ids > 0 {
251- & prod_evals[ ( start as usize ) ..( start as usize ) + EXT_DEG * 2 ]
250+ let ps: [ F ; EXT_DEG * 2 ] = if is_hint_space_ids > 0 {
251+ prod_evals[ ( start as usize ) ..( start as usize ) + EXT_DEG * 2 ] . try_into ( ) . unwrap ( )
252252 } else {
253- & exec_state. vm_read :: < _ , { EXT_DEG * 2 } > ( NATIVE_AS , prod_evals_ptr + start)
253+ exec_state. vm_read :: < _ , { EXT_DEG * 2 } > ( NATIVE_AS , prod_evals_ptr + start) . try_into ( ) . unwrap ( )
254254 } ;
255255
256256 let p1: [ F ; EXT_DEG ] = ps[ 0 ..EXT_DEG ] . try_into ( ) . unwrap ( ) ;
257257 let p2: [ F ; EXT_DEG ] = ps[ EXT_DEG ..EXT_DEG * 2 ] . try_into ( ) . unwrap ( ) ;
258258
259+ if is_hint_space_ids > 0 {
260+ exec_state. vm_write ( NATIVE_AS , prod_evals_ptr + start, & ps) ;
261+ }
262+
259263 let eval = match mode {
260264 CURRENT_LAYER_MODE => FieldExtension :: multiply ( p1, p2) ,
261265 NEXT_LAYER_MODE => FieldExtension :: add (
@@ -293,16 +297,20 @@ unsafe fn execute_e12_impl<F: PrimeField32, CTX: ExecutionCtxTrait>(
293297
294298 if round < max_round - 1 {
295299 // read logup_evals
296- let pqs: & [ F ] = if is_hint_space_ids > 0 {
297- & logup_evals[ ( start as usize ) ..( start as usize ) + EXT_DEG * 4 ]
300+ let pqs: [ F ; EXT_DEG * 4 ] = if is_hint_space_ids > 0 {
301+ logup_evals[ ( start as usize ) ..( start as usize ) + EXT_DEG * 4 ] . try_into ( ) . unwrap ( )
298302 } else {
299- & exec_state. vm_read :: < _ , { EXT_DEG * 4 } > ( NATIVE_AS , logup_evals_ptr + start)
303+ exec_state. vm_read :: < _ , { EXT_DEG * 4 } > ( NATIVE_AS , logup_evals_ptr + start) . try_into ( ) . unwrap ( )
300304 } ;
301305 let p1: [ F ; EXT_DEG ] = pqs[ 0 ..EXT_DEG ] . try_into ( ) . unwrap ( ) ;
302306 let p2: [ F ; EXT_DEG ] = pqs[ EXT_DEG ..EXT_DEG * 2 ] . try_into ( ) . unwrap ( ) ;
303307 let q1: [ F ; EXT_DEG ] = pqs[ EXT_DEG * 2 ..EXT_DEG * 3 ] . try_into ( ) . unwrap ( ) ;
304308 let q2: [ F ; EXT_DEG ] = pqs[ EXT_DEG * 3 ..EXT_DEG * 4 ] . try_into ( ) . unwrap ( ) ;
305309
310+ if is_hint_space_ids > 0 {
311+ exec_state. vm_write ( NATIVE_AS , logup_evals_ptr + start, & pqs) ;
312+ }
313+
306314 // compute p_eval and q_eval
307315 let p_eval = match mode {
308316 CURRENT_LAYER_MODE => FieldExtension :: add (
0 commit comments