ref/include/f11_260.c
void mul_wide(
  residue_wide_t *result, const residue_wide_t *x, const residue_wide_t *y) {

  residue_wide_t temp;
  for (int i = 0; i < NLIMBS; ++i) {
    temp.limbs[i] = 0;
    int i_2 = (i + (-(i & 1) & NLIMBS)) >> 1;
    for (int j = 1; j <= NLIMBS / 2; ++ j) {
      temp.limbs[i] +=
        (x->limbs[wrap(i_2 + j)] - x->limbs[wrap(i_2 - j)]) *
        (y->limbs[wrap(i_2 - j)] - y->limbs[wrap(i_2 + j)]);
    }
  }
  reduce_step_wide(&temp, &temp);
  reduce_step_wide(result, &temp);
}
// Multiply two wide residues, and produce a wide result. The result is reduced
// to 32 bits, but not narrowed for performance reasons.
Multiply two wide residues, and produce a wide result. The result is reduced
to 32 bits, but not narrowed for performance reasons.
Multiply two wide residues and produce a wide result . The result is reduced to 32 bits but not narrowed for performance reasons .
void mul_wide(
  residue_wide_t *result, const residue_wide_t *x, const residue_wide_t *y) {
  residue_wide_t temp;
  for (int i = 0; i < NLIMBS; ++i) {
    temp.limbs[i] = 0;
    int i_2 = (i + (-(i & 1) & NLIMBS)) >> 1;
    for (int j = 1; j <= NLIMBS / 2; ++ j) {
      temp.limbs[i] +=
        (x->limbs[wrap(i_2 + j)] - x->limbs[wrap(i_2 - j)]) *
        (y->limbs[wrap(i_2 - j)] - y->limbs[wrap(i_2 + j)]);
    }
  }
  reduce_step_wide(&temp, &temp);
  reduce_step_wide(result, &temp);
}
void mul_wide ( residue_wide_t * result , const residue_wide_t * x , const residue_wide_t * y ) { residue_wide_t temp ; for ( int i = 0 ; i < NLIMBS ; ++ i ) { temp . limbs [ i ] = 0 ; int i_2 = ( i + ( - ( i & 1 ) & NLIMBS ) ) >> 1 ; for ( int j = 1 ; j <= NLIMBS / 2 ; ++ j ) { temp . limbs [ i ] += ( x -> limbs [ wrap ( i_2 + j ) ] - x -> limbs [ wrap ( i_2 - j ) ] ) * ( y -> limbs [ wrap ( i_2 - j ) ] - y -> limbs [ wrap ( i_2 + j ) ] ) ; } } reduce_step_wide ( & temp , & temp ) ; reduce_step_wide ( result , & temp ) ; }
Multiply two wide residues, and produce a wide result.
Multiply two wide residues and produce a wide result .