/******************************************************************************
* *
* COMPUTE 64-BIT SUM *
* 11/13/06 (dkc) *
* *
******************************************************************************/
unsigned int carry(unsigned int a, unsigned int b, unsigned int sum);
void sum(unsigned int *a, unsigned int *b) {
unsigned int high0,high1,low0,low1,templo,temphi,c;
high0=*a;
low0=*(a+1);
high1=*b;
low1=*(b+1);
templo=low0+low1;
c=carry(low0,low1,templo);
temphi=high0+high1+c;
*b=temphi;
*(b+1)=templo;
return;
}