Avoid redundant instructions
@@ -284,7 +284,8 @@ private static int divsteps30(int eta, int f0, int g0, int[] t)
// assert (u * f0 + v * g0) == f << i;
// assert (q * f0 + r * g0) == g << i;
- c1 = -(g & (eta >>> 31));
+ c2 = -(g & 1);
+ c1 = c2 & (eta >> 31);
x = (f ^ g) & c1;
f ^= x; g ^= x; g ^= c1; g -= c1;
@@ -297,8 +298,6 @@ private static int divsteps30(int eta, int f0, int g0, int[] t)
eta = (eta ^ c1) - c1 - 1;
- c2 = -(g & 1);
-
g += (f & c2); g >>= 1;
q += (u & c2); u <<= 1;
r += (v & c2); v <<= 1;
