private static int[] AddMagnitudes(
int[] a,
int[] b)
{
int tI = a.Length - 1;
int vI = b.Length - 1;
long m = 0;
while (vI >= 0)
{
m += ((long)(uint)a[tI] + (long)(uint)b[vI--]);
a[tI--] = (int)m;
m = (long)((ulong)m >> 32);
}
if (m != 0)
{
while (tI >= 0 && ++a[tI--] == 0)
{
}
}
return a;
}