R1
R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19);
R1(A, B, C, D, X(0), 3, 0x5A827999L);
R1(D, A, B, C, X(4), 5, 0x5A827999L);
R1(C, D, A, B, X(8), 9, 0x5A827999L);
R1(B, C, D, A, X(12), 13, 0x5A827999L);
R1(A, B, C, D, X(1), 3, 0x5A827999L);
R1(D, A, B, C, X(5), 5, 0x5A827999L);
R1(C, D, A, B, X(9), 9, 0x5A827999L);
R1(B, C, D, A, X(13), 13, 0x5A827999L);
R1(A, B, C, D, X(2), 3, 0x5A827999L);
R1(D, A, B, C, X(6), 5, 0x5A827999L);
R1(C, D, A, B, X(10), 9, 0x5A827999L);
R1(B, C, D, A, X(14), 13, 0x5A827999L);
R1(A, B, C, D, X(3), 3, 0x5A827999L);
R1(D, A, B, C, X(7), 5, 0x5A827999L);
R1(C, D, A, B, X(11), 9, 0x5A827999L);
R1(B, C, D, A, X(15), 13, 0x5A827999L);
R1(A, B, C, D, X(1), 5, 0xf61e2562L);
R1(D, A, B, C, X(6), 9, 0xc040b340L);
R1(C, D, A, B, X(11), 14, 0x265e5a51L);
R1(B, C, D, A, X(0), 20, 0xe9b6c7aaL);
R1(A, B, C, D, X(5), 5, 0xd62f105dL);
R1(D, A, B, C, X(10), 9, 0x02441453L);
R1(C, D, A, B, X(15), 14, 0xd8a1e681L);
R1(B, C, D, A, X(4), 20, 0xe7d3fbc8L);
R1(A, B, C, D, X(9), 5, 0x21e1cde6L);
R1(D, A, B, C, X(14), 9, 0xc33707d6L);
R1(C, D, A, B, X(3), 14, 0xf4d50d87L);
R1(B, C, D, A, X(8), 20, 0x455a14edL);
R1(A, B, C, D, X(13), 5, 0xa9e3e905L);
R1(D, A, B, C, X(2), 9, 0xfcefa3f8L);
R1(C, D, A, B, X(7), 14, 0x676f02d9L);
R1(B, C, D, A, X(12), 20, 0x8d2a4c8aL);
R1(A, B, C, D, E, F, G, H, 0x79CC4519, W00, W00 ^ W04);
R1(D, A, B, C, H, E, F, G, 0xF3988A32, W01, W01 ^ W05);
R1(C, D, A, B, G, H, E, F, 0xE7311465, W02, W02 ^ W06);
R1(B, C, D, A, F, G, H, E, 0xCE6228CB, W03, W03 ^ W07);
R1(A, B, C, D, E, F, G, H, 0x9CC45197, W04, W04 ^ W08);
R1(D, A, B, C, H, E, F, G, 0x3988A32F, W05, W05 ^ W09);
R1(C, D, A, B, G, H, E, F, 0x7311465E, W06, W06 ^ W10);
R1(B, C, D, A, F, G, H, E, 0xE6228CBC, W07, W07 ^ W11);
R1(A, B, C, D, E, F, G, H, 0xCC451979, W08, W08 ^ W12);
R1(D, A, B, C, H, E, F, G, 0x988A32F3, W09, W09 ^ W13);
R1(C, D, A, B, G, H, E, F, 0x311465E7, W10, W10 ^ W14);
R1(B, C, D, A, F, G, H, E, 0x6228CBCE, W11, W11 ^ W15);
R1(A, B, C, D, E, F, G, H, 0xC451979C, W12, W12 ^ W00);
R1(D, A, B, C, H, E, F, G, 0x88A32F39, W13, W13 ^ W01);
R1(C, D, A, B, G, H, E, F, 0x11465E73, W14, W14 ^ W02);
R1(B, C, D, A, F, G, H, E, 0x228CBCE6, W15, W15 ^ W03);
#define REG_R1 R1