mmult(aray1,aray2,aray3,row1,col1,row2,col2)

float *aray1,*aray2, *aray3;
int row1,col1,row2,col2;
{
     register float *ap1, *ap2, *ap3, tot;
     register int c2, k, c1, km;
     int c21, i, j;
     
     c2=col2; c1=col1; ap1=aray1; ap3=aray3;
     i=row1; km= (c1<row2) ? c1 : row2;
     c21=c2*km-1;
     do {
         ap2=aray2-c2; ap1+=c1; j=c2;
         do { ap1-=c1; tot=0; k=km;
             do tot+= ((*ap1++) * (*(ap2+=c2)));
                 while(--k);
             *ap3++ = tot; ap2-=c21;
             } while(--j);
        } while(--i);
}

