- r = rp[0]; r += bp[8-8];
- r += bp[9-8];
- r -= bp[11-8];
- r -= bp[12-8];
- r -= bp[13-8];
- r -= bp[14-8]; rp[0] = (unsigned int)r; r >>= 32;
-
- r += rp[1]; r += bp[9-8];
- r += bp[10-8];
- r -= bp[12-8];
- r -= bp[13-8];
- r -= bp[14-8];
- r -= bp[15-8]; rp[1] = (unsigned int)r; r >>= 32;
-
- r += rp[2]; r += bp[10-8];
- r += bp[11-8];
- r -= bp[13-8];
- r -= bp[14-8];
- r -= bp[15-8]; rp[2] = (unsigned int)r; r >>= 32;
-
- r += rp[3]; r += bp[11-8];
- r += bp[11-8];
- r += bp[12-8];
- r += bp[12-8];
- r += bp[13-8];
- r -= bp[15-8];
- r -= bp[8-8];
- r -= bp[9-8]; rp[3] = (unsigned int)r; r >>= 32;
-
- r += rp[4]; r += bp[12-8];
- r += bp[12-8];
- r += bp[13-8];
- r += bp[13-8];
- r += bp[14-8];
- r -= bp[9-8];
- r -= bp[10-8]; rp[4] = (unsigned int)r; r >>= 32;
-
- r += rp[5]; r += bp[13-8];
- r += bp[13-8];
- r += bp[14-8];
- r += bp[14-8];
- r += bp[15-8];
- r -= bp[10-8];
- r -= bp[11-8]; rp[5] = (unsigned int)r; r >>= 32;
-
- r += rp[6]; r += bp[14-8];
- r += bp[14-8];
- r += bp[15-8];
- r += bp[15-8];
- r += bp[14-8];
- r += bp[13-8];
- r -= bp[8-8];
- r -= bp[9-8]; rp[6] = (unsigned int)r; r >>= 32;
-
- r += rp[7]; r += bp[15-8];
- r += bp[15-8];
- r += bp[15-8];
- r += bp[8 -8];
- r -= bp[10-8];
- r -= bp[11-8];
- r -= bp[12-8];
- r -= bp[13-8]; rp[7] = (unsigned int)r;
-
- carry = (int)(r>>32);
+ acc = rp[0]; acc += bp[8-8];
+ acc += bp[9-8];
+ acc -= bp[11-8];
+ acc -= bp[12-8];
+ acc -= bp[13-8];
+ acc -= bp[14-8]; rp[0] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[1]; acc += bp[9-8];
+ acc += bp[10-8];
+ acc -= bp[12-8];
+ acc -= bp[13-8];
+ acc -= bp[14-8];
+ acc -= bp[15-8]; rp[1] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[2]; acc += bp[10-8];
+ acc += bp[11-8];
+ acc -= bp[13-8];
+ acc -= bp[14-8];
+ acc -= bp[15-8]; rp[2] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[3]; acc += bp[11-8];
+ acc += bp[11-8];
+ acc += bp[12-8];
+ acc += bp[12-8];
+ acc += bp[13-8];
+ acc -= bp[15-8];
+ acc -= bp[8-8];
+ acc -= bp[9-8]; rp[3] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[4]; acc += bp[12-8];
+ acc += bp[12-8];
+ acc += bp[13-8];
+ acc += bp[13-8];
+ acc += bp[14-8];
+ acc -= bp[9-8];
+ acc -= bp[10-8]; rp[4] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[5]; acc += bp[13-8];
+ acc += bp[13-8];
+ acc += bp[14-8];
+ acc += bp[14-8];
+ acc += bp[15-8];
+ acc -= bp[10-8];
+ acc -= bp[11-8]; rp[5] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[6]; acc += bp[14-8];
+ acc += bp[14-8];
+ acc += bp[15-8];
+ acc += bp[15-8];
+ acc += bp[14-8];
+ acc += bp[13-8];
+ acc -= bp[8-8];
+ acc -= bp[9-8]; rp[6] = (unsigned int)acc; acc >>= 32;
+
+ acc += rp[7]; acc += bp[15-8];
+ acc += bp[15-8];
+ acc += bp[15-8];
+ acc += bp[8 -8];
+ acc -= bp[10-8];
+ acc -= bp[11-8];
+ acc -= bp[12-8];
+ acc -= bp[13-8]; rp[7] = (unsigned int)acc;
+
+ carry = (int)(acc>>32);