A. 24 bytes
B. Multiple of 8 alignment
C. CNT = 9
D. a_struct = data8, x[0], x[1], x[2], x[3]

Where "data8" is some data type requiring 8 bytes and having an
alignment requirement of 8.  On Alpha, this could be a double, a long
int, or a pointer.

Here's the actual code used to generate the problem: 

#define CNT 9

typedef struct {
  double d;
  int x[4];
} a_struct;

typedef struct {
  int left;
  a_struct a[CNT];
  int right;
} b_struct;


void test(long i, b_struct *bp)
{
  int n = bp->left + bp->right;
  a_struct *ap = &bp->a[i];
  ap->x[3] = n;
}
