diff -ruN rhash-1.3.2/librhash/ripemd-160.c rhash-1.3.3/librhash/ripemd-160.c
--- rhash-1.3.2/librhash/ripemd-160.c	2012-11-19 09:35:50.000000000 -0600
+++ rhash-1.3.3/librhash/ripemd-160.c	2014-08-12 11:00:18.649190694 -0500
@@ -70,184 +70,173 @@
  */
 static void rhash_ripemd160_process_block(unsigned *hash, const unsigned* X)
 {
-	register unsigned A = hash[0],  B = hash[1],  C = hash[2],
-		D = hash[3],  E = hash[4];
-	unsigned a1, b1, c1, d1, e1;
-
-	/* rounds of the left half */
-	L1(A, B, C, D, E, X[ 0], 11);
-	L1(E, A, B, C, D, X[ 1], 14);
-	L1(D, E, A, B, C, X[ 2], 15);
-	L1(C, D, E, A, B, X[ 3], 12);
-	L1(B, C, D, E, A, X[ 4],  5);
-	L1(A, B, C, D, E, X[ 5],  8);
-	L1(E, A, B, C, D, X[ 6],  7);
-	L1(D, E, A, B, C, X[ 7],  9);
-	L1(C, D, E, A, B, X[ 8], 11);
-	L1(B, C, D, E, A, X[ 9], 13);
-	L1(A, B, C, D, E, X[10], 14);
-	L1(E, A, B, C, D, X[11], 15);
-	L1(D, E, A, B, C, X[12],  6);
-	L1(C, D, E, A, B, X[13],  7);
-	L1(B, C, D, E, A, X[14],  9);
-	L1(A, B, C, D, E, X[15],  8);
-
-	L2(E, A, B, C, D, X[ 7],  7);
-	L2(D, E, A, B, C, X[ 4],  6);
-	L2(C, D, E, A, B, X[13],  8);
-	L2(B, C, D, E, A, X[ 1], 13);
-	L2(A, B, C, D, E, X[10], 11);
-	L2(E, A, B, C, D, X[ 6],  9);
-	L2(D, E, A, B, C, X[15],  7);
-	L2(C, D, E, A, B, X[ 3], 15);
-	L2(B, C, D, E, A, X[12],  7);
-	L2(A, B, C, D, E, X[ 0], 12);
-	L2(E, A, B, C, D, X[ 9], 15);
-	L2(D, E, A, B, C, X[ 5],  9);
-	L2(C, D, E, A, B, X[ 2], 11);
-	L2(B, C, D, E, A, X[14],  7);
-	L2(A, B, C, D, E, X[11], 13);
-	L2(E, A, B, C, D, X[ 8], 12);
-
-	L3(D, E, A, B, C, X[ 3], 11);
-	L3(C, D, E, A, B, X[10], 13);
-	L3(B, C, D, E, A, X[14],  6);
-	L3(A, B, C, D, E, X[ 4],  7);
-	L3(E, A, B, C, D, X[ 9], 14);
-	L3(D, E, A, B, C, X[15],  9);
-	L3(C, D, E, A, B, X[ 8], 13);
-	L3(B, C, D, E, A, X[ 1], 15);
-	L3(A, B, C, D, E, X[ 2], 14);
-	L3(E, A, B, C, D, X[ 7],  8);
-	L3(D, E, A, B, C, X[ 0], 13);
-	L3(C, D, E, A, B, X[ 6],  6);
-	L3(B, C, D, E, A, X[13],  5);
-	L3(A, B, C, D, E, X[11], 12);
-	L3(E, A, B, C, D, X[ 5],  7);
-	L3(D, E, A, B, C, X[12],  5);
-
-	L4(C, D, E, A, B, X[ 1], 11);
-	L4(B, C, D, E, A, X[ 9], 12);
-	L4(A, B, C, D, E, X[11], 14);
-	L4(E, A, B, C, D, X[10], 15);
-	L4(D, E, A, B, C, X[ 0], 14);
-	L4(C, D, E, A, B, X[ 8], 15);
-	L4(B, C, D, E, A, X[12],  9);
-	L4(A, B, C, D, E, X[ 4],  8);
-	L4(E, A, B, C, D, X[13],  9);
-	L4(D, E, A, B, C, X[ 3], 14);
-	L4(C, D, E, A, B, X[ 7],  5);
-	L4(B, C, D, E, A, X[15],  6);
-	L4(A, B, C, D, E, X[14],  8);
-	L4(E, A, B, C, D, X[ 5],  6);
-	L4(D, E, A, B, C, X[ 6],  5);
-	L4(C, D, E, A, B, X[ 2], 12);
-
-	L5(B, C, D, E, A, X[ 4],  9);
-	L5(A, B, C, D, E, X[ 0], 15);
-	L5(E, A, B, C, D, X[ 5],  5);
-	L5(D, E, A, B, C, X[ 9], 11);
-	L5(C, D, E, A, B, X[ 7],  6);
-	L5(B, C, D, E, A, X[12],  8);
-	L5(A, B, C, D, E, X[ 2], 13);
-	L5(E, A, B, C, D, X[10], 12);
-	L5(D, E, A, B, C, X[14],  5);
-	L5(C, D, E, A, B, X[ 1], 12);
-	L5(B, C, D, E, A, X[ 3], 13);
-	L5(A, B, C, D, E, X[ 8], 14);
-	L5(E, A, B, C, D, X[11], 11);
-	L5(D, E, A, B, C, X[ 6],  8);
-	L5(C, D, E, A, B, X[15],  5);
-	L5(B, C, D, E, A, X[13],  6);
-
-	a1 = A, b1 = B, c1 = C, d1 = D, e1 = E;
-	A = hash[0],  B = hash[1],  C = hash[2],
-		D = hash[3],  E = hash[4];
+	register unsigned A = hash[0],  B = hash[1],  C = hash[2], D = hash[3],  E = hash[4];
+	register unsigned a1 = hash[0], b1 = hash[1], c1 = hash[2], d1 = hash[3], e1 = hash[4];
 
-	/* rounds of the right half */
+	/* rounds of the left and right half interleaved */
+	L1(a1, b1, c1, d1, e1, X[ 0], 11);
 	R1(A, B, C, D, E, X[ 5],  8);
+	L1(e1, a1, b1, c1, d1, X[ 1], 14);
 	R1(E, A, B, C, D, X[14],  9);
+	L1(d1, e1, a1, b1, c1, X[ 2], 15);
 	R1(D, E, A, B, C, X[ 7],  9);
+	L1(c1, d1, e1, a1, b1, X[ 3], 12);
 	R1(C, D, E, A, B, X[ 0], 11);
+	L1(b1, c1, d1, e1, a1, X[ 4],  5);
 	R1(B, C, D, E, A, X[ 9], 13);
+	L1(a1, b1, c1, d1, e1, X[ 5],  8);
 	R1(A, B, C, D, E, X[ 2], 15);
+	L1(e1, a1, b1, c1, d1, X[ 6],  7);
 	R1(E, A, B, C, D, X[11], 15);
+	L1(d1, e1, a1, b1, c1, X[ 7],  9);
 	R1(D, E, A, B, C, X[ 4],  5);
+	L1(c1, d1, e1, a1, b1, X[ 8], 11);
 	R1(C, D, E, A, B, X[13],  7);
+	L1(b1, c1, d1, e1, a1, X[ 9], 13);
 	R1(B, C, D, E, A, X[ 6],  7);
+	L1(a1, b1, c1, d1, e1, X[10], 14);
 	R1(A, B, C, D, E, X[15],  8);
+	L1(e1, a1, b1, c1, d1, X[11], 15);
 	R1(E, A, B, C, D, X[ 8], 11);
+	L1(d1, e1, a1, b1, c1, X[12],  6);
 	R1(D, E, A, B, C, X[ 1], 14);
+	L1(c1, d1, e1, a1, b1, X[13],  7);
 	R1(C, D, E, A, B, X[10], 14);
+	L1(b1, c1, d1, e1, a1, X[14],  9);
 	R1(B, C, D, E, A, X[ 3], 12);
+	L1(a1, b1, c1, d1, e1, X[15],  8);
 	R1(A, B, C, D, E, X[12],  6);
 
+	L2(e1, a1, b1, c1, d1, X[ 7],  7);
 	R2(E, A, B, C, D, X[ 6],  9);
+	L2(d1, e1, a1, b1, c1, X[ 4],  6);
 	R2(D, E, A, B, C, X[11], 13);
+	L2(c1, d1, e1, a1, b1, X[13],  8);
 	R2(C, D, E, A, B, X[ 3], 15);
+	L2(b1, c1, d1, e1, a1, X[ 1], 13);
 	R2(B, C, D, E, A, X[ 7],  7);
+	L2(a1, b1, c1, d1, e1, X[10], 11);
 	R2(A, B, C, D, E, X[ 0], 12);
+	L2(e1, a1, b1, c1, d1, X[ 6],  9);
 	R2(E, A, B, C, D, X[13],  8);
+	L2(d1, e1, a1, b1, c1, X[15],  7);
 	R2(D, E, A, B, C, X[ 5],  9);
+	L2(c1, d1, e1, a1, b1, X[ 3], 15);
 	R2(C, D, E, A, B, X[10], 11);
+	L2(b1, c1, d1, e1, a1, X[12],  7);
 	R2(B, C, D, E, A, X[14],  7);
+	L2(a1, b1, c1, d1, e1, X[ 0], 12);
 	R2(A, B, C, D, E, X[15],  7);
+	L2(e1, a1, b1, c1, d1, X[ 9], 15);
 	R2(E, A, B, C, D, X[ 8], 12);
+	L2(d1, e1, a1, b1, c1, X[ 5],  9);
 	R2(D, E, A, B, C, X[12],  7);
+	L2(c1, d1, e1, a1, b1, X[ 2], 11);
 	R2(C, D, E, A, B, X[ 4],  6);
+	L2(b1, c1, d1, e1, a1, X[14],  7);
 	R2(B, C, D, E, A, X[ 9], 15);
+	L2(a1, b1, c1, d1, e1, X[11], 13);
 	R2(A, B, C, D, E, X[ 1], 13);
+	L2(e1, a1, b1, c1, d1, X[ 8], 12);
 	R2(E, A, B, C, D, X[ 2], 11);
 
+	L3(d1, e1, a1, b1, c1, X[ 3], 11);
 	R3(D, E, A, B, C, X[15],  9);
+	L3(c1, d1, e1, a1, b1, X[10], 13);
 	R3(C, D, E, A, B, X[ 5],  7);
+	L3(b1, c1, d1, e1, a1, X[14],  6);
 	R3(B, C, D, E, A, X[ 1], 15);
+	L3(a1, b1, c1, d1, e1, X[ 4],  7);
 	R3(A, B, C, D, E, X[ 3], 11);
+	L3(e1, a1, b1, c1, d1, X[ 9], 14);
 	R3(E, A, B, C, D, X[ 7],  8);
+	L3(d1, e1, a1, b1, c1, X[15],  9);
 	R3(D, E, A, B, C, X[14],  6);
+	L3(c1, d1, e1, a1, b1, X[ 8], 13);
 	R3(C, D, E, A, B, X[ 6],  6);
+	L3(b1, c1, d1, e1, a1, X[ 1], 15);
 	R3(B, C, D, E, A, X[ 9], 14);
+	L3(a1, b1, c1, d1, e1, X[ 2], 14);
 	R3(A, B, C, D, E, X[11], 12);
+	L3(e1, a1, b1, c1, d1, X[ 7],  8);
 	R3(E, A, B, C, D, X[ 8], 13);
+	L3(d1, e1, a1, b1, c1, X[ 0], 13);
 	R3(D, E, A, B, C, X[12],  5);
+	L3(c1, d1, e1, a1, b1, X[ 6],  6);
 	R3(C, D, E, A, B, X[ 2], 14);
+	L3(b1, c1, d1, e1, a1, X[13],  5);
 	R3(B, C, D, E, A, X[10], 13);
+	L3(a1, b1, c1, d1, e1, X[11], 12);
 	R3(A, B, C, D, E, X[ 0], 13);
+	L3(e1, a1, b1, c1, d1, X[ 5],  7);
 	R3(E, A, B, C, D, X[ 4],  7);
+	L3(d1, e1, a1, b1, c1, X[12],  5);
 	R3(D, E, A, B, C, X[13],  5);
 
+	L4(c1, d1, e1, a1, b1, X[ 1], 11);
 	R4(C, D, E, A, B, X[ 8], 15);
+	L4(b1, c1, d1, e1, a1, X[ 9], 12);
 	R4(B, C, D, E, A, X[ 6],  5);
+	L4(a1, b1, c1, d1, e1, X[11], 14);
 	R4(A, B, C, D, E, X[ 4],  8);
+	L4(e1, a1, b1, c1, d1, X[10], 15);
 	R4(E, A, B, C, D, X[ 1], 11);
+	L4(d1, e1, a1, b1, c1, X[ 0], 14);
 	R4(D, E, A, B, C, X[ 3], 14);
+	L4(c1, d1, e1, a1, b1, X[ 8], 15);
 	R4(C, D, E, A, B, X[11], 14);
+	L4(b1, c1, d1, e1, a1, X[12],  9);
 	R4(B, C, D, E, A, X[15],  6);
+	L4(a1, b1, c1, d1, e1, X[ 4],  8);
 	R4(A, B, C, D, E, X[ 0], 14);
+	L4(e1, a1, b1, c1, d1, X[13],  9);
 	R4(E, A, B, C, D, X[ 5],  6);
+	L4(d1, e1, a1, b1, c1, X[ 3], 14);
 	R4(D, E, A, B, C, X[12],  9);
+	L4(c1, d1, e1, a1, b1, X[ 7],  5);
 	R4(C, D, E, A, B, X[ 2], 12);
+	L4(b1, c1, d1, e1, a1, X[15],  6);
 	R4(B, C, D, E, A, X[13],  9);
+	L4(a1, b1, c1, d1, e1, X[14],  8);
 	R4(A, B, C, D, E, X[ 9], 12);
+	L4(e1, a1, b1, c1, d1, X[ 5],  6);
 	R4(E, A, B, C, D, X[ 7],  5);
+	L4(d1, e1, a1, b1, c1, X[ 6],  5);
 	R4(D, E, A, B, C, X[10], 15);
+	L4(c1, d1, e1, a1, b1, X[ 2], 12);
 	R4(C, D, E, A, B, X[14],  8);
 
+	L5(b1, c1, d1, e1, a1, X[ 4],  9);
 	R5(B, C, D, E, A, X[12] ,  8);
+	L5(a1, b1, c1, d1, e1, X[ 0], 15);
 	R5(A, B, C, D, E, X[15] ,  5);
+	L5(e1, a1, b1, c1, d1, X[ 5],  5);
 	R5(E, A, B, C, D, X[10] , 12);
+	L5(d1, e1, a1, b1, c1, X[ 9], 11);
 	R5(D, E, A, B, C, X[ 4] ,  9);
+	L5(c1, d1, e1, a1, b1, X[ 7],  6);
 	R5(C, D, E, A, B, X[ 1] , 12);
+	L5(b1, c1, d1, e1, a1, X[12],  8);
 	R5(B, C, D, E, A, X[ 5] ,  5);
+	L5(a1, b1, c1, d1, e1, X[ 2], 13);
 	R5(A, B, C, D, E, X[ 8] , 14);
+	L5(e1, a1, b1, c1, d1, X[10], 12);
 	R5(E, A, B, C, D, X[ 7] ,  6);
+	L5(d1, e1, a1, b1, c1, X[14],  5);
 	R5(D, E, A, B, C, X[ 6] ,  8);
+	L5(c1, d1, e1, a1, b1, X[ 1], 12);
 	R5(C, D, E, A, B, X[ 2] , 13);
+	L5(b1, c1, d1, e1, a1, X[ 3], 13);
 	R5(B, C, D, E, A, X[13] ,  6);
+	L5(a1, b1, c1, d1, e1, X[ 8], 14);
 	R5(A, B, C, D, E, X[14] ,  5);
+	L5(e1, a1, b1, c1, d1, X[11], 11);
 	R5(E, A, B, C, D, X[ 0] , 15);
+	L5(d1, e1, a1, b1, c1, X[ 6],  8);
 	R5(D, E, A, B, C, X[ 3] , 13);
+	L5(c1, d1, e1, a1, b1, X[15],  5);
 	R5(C, D, E, A, B, X[ 9] , 11);
+	L5(b1, c1, d1, e1, a1, X[13],  6);
 	R5(B, C, D, E, A, X[11] , 11);
 
 	/* update intermediate hash */
