Browse Source

Keep lines that reference the same variable together.

ckolivas 14 years ago
parent
commit
4776ca8f08
1 changed files with 52 additions and 156 deletions
  1. 52 156
      diablo120222.cl

+ 52 - 156
diablo120222.cl

@@ -63,6 +63,7 @@ __kernel __attribute__((reqd_work_group_size(WORKSIZE, 1, 1))) void search(
   z ZA[25];
 
 	const z Znonce = base + (uint)(get_global_id(0));
+
 ZA[2]=Znonce;
 ZA[2]+=PreVal4_state0;
 ZA[3]=ZCh(ZA[2],b1,c1);
@@ -79,9 +80,7 @@ ZA[3]+=ZMa(f1,g1,ZA[8]);
 ZA[3]+=ZR30(ZA[8]);
 ZA[6]=ZA[5];
 ZA[6]+=g1;
-ZA[2]=ZCh(ZA[6],ZA[4],ZA[2]);
-ZA[2]+=b1_plus_k6;
-ZA[2]+=ZR26(ZA[6]);
+ZA[2]=(ZCh(ZA[6],ZA[4],ZA[2])+b1_plus_k6)+ZR26(ZA[6]);
 ZA[5]+=ZMa(ZA[8],f1,ZA[3]);
 ZA[5]+=ZR30(ZA[3]);
 ZA[7]=ZA[2];
@@ -653,10 +652,7 @@ ZA[7]+=0xc67178f2U;
 ZA[7]+=ZR26(ZA[17]);
 ZA[5]=ZA[9];
 ZA[5]+=state1;
-ZA[9]=ZA[7];
-ZA[9]+=ZMa(ZA[12],ZA[1],ZA[9]);
-ZA[9]+=ZR30(ZA[9]);
-ZA[9]+=state0;
+ZA[9]=ZA[7]+ZMa(ZA[12],ZA[1],ZA[9])+ZR30(ZA[9])+state0;
 ZA[15]=ZA[9];
 ZA[15]+=0x98c7e2a2U;
 ZA[0]=ZCh(ZA[15],0x510e527fU,0x9b05688cU);
@@ -677,10 +673,7 @@ ZA[0]+=ZMa(0x6a09e667U,0xbb67ae85U,ZA[2]);
 ZA[0]+=ZR30(ZA[2]);
 ZA[6]=ZA[11];
 ZA[6]+=0xbb67ae85U;
-ZA[15]=ZCh(ZA[6],ZA[8],ZA[15]);
-ZA[15]+=ZA[1];
-ZA[15]+=0x3ac42e24U;
-ZA[15]+=ZR26(ZA[6]);
+ZA[15]=(ZCh(ZA[6],ZA[8],ZA[15])+ZA[1]+0x3ac42e24U)+ZR26(ZA[6]);
 ZA[10]+=ZA[7];
 ZA[10]+=state4;
 ZA[7]=ZA[15];
@@ -695,9 +688,7 @@ ZA[16]+=0xd21ea4fdU;
 ZA[16]+=ZR26(ZA[7]);
 ZA[24]=ZA[2];
 ZA[24]+=ZA[16];
-ZA[2]=ZA[15];
-ZA[2]+=ZMa(ZA[0],ZA[2],ZA[11]);
-ZA[2]+=ZR30(ZA[11]);
+ZA[2]=ZA[15]+ZMa(ZA[0],ZA[2],ZA[11])+ZR30(ZA[11]);
 ZA[4]+=state6;
 ZA[8]+=ZCh(ZA[24],ZA[7],ZA[6]);
 ZA[8]+=ZA[17];
@@ -722,9 +713,7 @@ ZA[7]+=0xab1c5ed5U;
 ZA[7]+=ZR26(ZA[0]);
 ZA[11]=ZA[2];
 ZA[11]+=ZA[7];
-ZA[2]=ZMa(ZA[16],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
-ZA[2]+=ZA[6];
+ZA[2]=ZMa(ZA[16],ZA[2],ZA[8])+ZR30(ZA[8])+ZA[6];
 ZA[24]+=ZCh(ZA[11],ZA[0],ZA[15]);
 ZA[24]+=0x5807aa98U;
 ZA[24]+=ZR26(ZA[11]);
@@ -737,50 +726,38 @@ ZA[15]+=0x12835b01U;
 ZA[15]+=ZR26(ZA[6]);
 ZA[16]=ZA[8];
 ZA[16]+=ZA[15];
-ZA[8]=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
-ZA[8]+=ZA[24];
+ZA[8]=ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7])+ZA[24];
 ZA[0]+=ZCh(ZA[16],ZA[6],ZA[11]);
 ZA[0]+=0x243185beU;
 ZA[0]+=ZR26(ZA[16]);
 ZA[14]=ZA[2];
 ZA[14]+=ZA[0];
-ZA[2]=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
-ZA[2]+=ZA[15];
+ZA[2]=ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8])+ZA[15];
 ZA[11]+=ZCh(ZA[14],ZA[16],ZA[6]);
 ZA[11]+=0x550c7dc3U;
 ZA[11]+=ZR26(ZA[14]);
 ZA[15]=ZA[7];
 ZA[15]+=ZA[11];
-ZA[7]=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
-ZA[7]+=ZA[0];
+ZA[7]=ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2])+ZA[0];
 ZA[6]+=ZCh(ZA[15],ZA[14],ZA[16]);
 ZA[6]+=0x72be5d74U;
 ZA[6]+=ZR26(ZA[15]);
 ZA[0]=ZA[8];
 ZA[0]+=ZA[6];
-ZA[8]=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
-ZA[8]+=ZA[11];
+ZA[8]=ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7])+ZA[11];
 ZA[16]+=ZCh(ZA[0],ZA[15],ZA[14]);
 ZA[16]+=0x80deb1feU;
 ZA[16]+=ZR26(ZA[0]);
 ZA[11]=ZA[2];
 ZA[11]+=ZA[16];
-ZA[2]=ZA[6];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[6]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[14]+=ZCh(ZA[11],ZA[0],ZA[15]);
 ZA[14]+=0x9bdc06a7U;
 ZA[14]+=ZR26(ZA[11]);
 ZA[9]+=ZR25(ZA[5]);
 ZA[6]=ZA[7];
 ZA[6]+=ZA[14];
-ZA[7]=ZA[16];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[16]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[15]+=ZCh(ZA[6],ZA[11],ZA[0]);
 ZA[15]+=0xc19bf274U;
 ZA[15]+=ZR26(ZA[6]);
@@ -788,18 +765,14 @@ ZA[5]+=ZR25(ZA[12]);
 ZA[5]+=0x00a00000U;
 ZA[16]=ZA[8];
 ZA[16]+=ZA[15];
-ZA[8]=ZA[14];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[14]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[0]+=ZCh(ZA[16],ZA[6],ZA[11]);
 ZA[0]+=ZA[9];
 ZA[0]+=0xe49b69c1U;
 ZA[0]+=ZR26(ZA[16]);
 ZA[21]=ZA[2];
 ZA[21]+=ZA[0];
-ZA[2]=ZA[15];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[15]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[11]+=ZCh(ZA[21],ZA[16],ZA[6]);
 ZA[11]+=ZA[5];
 ZA[11]+=0xefbe4786U;
@@ -810,9 +783,7 @@ ZA[1]+=ZR15(ZA[5]);
 ZA[1]+=ZR25(ZA[10]);
 ZA[15]=ZA[7];
 ZA[15]+=ZA[11];
-ZA[7]=ZA[0];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[0]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[6]+=ZCh(ZA[15],ZA[21],ZA[16]);
 ZA[6]+=0x0fc19dc6U;
 ZA[6]+=ZA[12];
@@ -822,9 +793,7 @@ ZA[0]+=ZR25(ZA[17]);
 ZA[0]+=ZA[10];
 ZA[10]=ZA[8];
 ZA[10]+=ZA[6];
-ZA[8]=ZA[11];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[11]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[16]+=ZCh(ZA[10],ZA[15],ZA[21]);
 ZA[16]+=ZA[1];
 ZA[16]+=0x240ca1ccU;
@@ -833,9 +802,7 @@ ZA[17]+=ZR15(ZA[1]);
 ZA[17]+=ZR25(ZA[4]);
 ZA[11]=ZA[2];
 ZA[11]+=ZA[16];
-ZA[2]=ZA[6];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[6]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[21]+=ZCh(ZA[11],ZA[10],ZA[15]);
 ZA[21]+=ZA[0];
 ZA[21]+=0x2de92c6fU;
@@ -845,9 +812,7 @@ ZA[4]+=0x00000100U;
 ZA[4]+=ZR25(ZA[3]);
 ZA[6]=ZA[7];
 ZA[6]+=ZA[21];
-ZA[7]=ZA[16];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[16]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[15]+=ZCh(ZA[6],ZA[11],ZA[10]);
 ZA[15]+=ZA[17];
 ZA[15]+=0x4a7484aaU;
@@ -857,9 +822,7 @@ ZA[3]+=ZR15(ZA[17]);
 ZA[3]+=0x11002000U;
 ZA[16]=ZA[8];
 ZA[16]+=ZA[15];
-ZA[8]=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
-ZA[8]+=ZA[21];
+ZA[8]=ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7])+ZA[21];
 ZA[10]+=ZCh(ZA[16],ZA[6],ZA[11]);
 ZA[10]+=ZA[4];
 ZA[10]+=0x5cb0a9dcU;
@@ -869,9 +832,7 @@ ZA[13]+=ZA[5];
 ZA[13]+=0x80000000U;
 ZA[22]=ZA[2];
 ZA[22]+=ZA[10];
-ZA[2]=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
-ZA[2]+=ZA[15];
+ZA[2]=ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8])+ZA[15];
 ZA[11]+=ZCh(ZA[22],ZA[16],ZA[6]);
 ZA[11]+=ZA[3];
 ZA[11]+=0x76f988daU;
@@ -880,9 +841,7 @@ ZA[15]=ZR15(ZA[3]);
 ZA[15]+=ZA[12];
 ZA[18]=ZA[7];
 ZA[18]+=ZA[11];
-ZA[7]=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
-ZA[7]+=ZA[10];
+ZA[7]=ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2])+ZA[10];
 ZA[6]+=ZCh(ZA[18],ZA[22],ZA[16]);
 ZA[6]+=ZA[13];
 ZA[6]+=0x983e5152U;
@@ -891,9 +850,7 @@ ZA[10]=ZR15(ZA[13]);
 ZA[10]+=ZA[1];
 ZA[23]=ZA[8];
 ZA[23]+=ZA[6];
-ZA[8]=ZA[11];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[11]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[16]+=ZCh(ZA[23],ZA[18],ZA[22]);
 ZA[16]+=ZA[15];
 ZA[16]+=0xa831c66dU;
@@ -902,9 +859,7 @@ ZA[11]=ZR15(ZA[15]);
 ZA[11]+=ZA[0];
 ZA[24]=ZA[2];
 ZA[24]+=ZA[16];
-ZA[2]=ZA[6];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[6]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[22]+=ZCh(ZA[24],ZA[23],ZA[18]);
 ZA[22]+=ZA[10];
 ZA[22]+=0xb00327c8U;
@@ -913,9 +868,7 @@ ZA[6]=ZR15(ZA[10]);
 ZA[6]+=ZA[17];
 ZA[19]=ZA[7];
 ZA[19]+=ZA[22];
-ZA[7]=ZA[16];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[16]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[18]+=ZCh(ZA[19],ZA[24],ZA[23]);
 ZA[18]+=ZA[11];
 ZA[18]+=0xbf597fc7U;
@@ -924,9 +877,7 @@ ZA[14]=ZR15(ZA[11]);
 ZA[14]+=ZA[4];
 ZA[20]=ZA[8];
 ZA[20]+=ZA[18];
-ZA[8]=ZA[22];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[22]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[23]+=ZCh(ZA[20],ZA[19],ZA[24]);
 ZA[23]+=ZA[6];
 ZA[23]+=0xc6e00bf3U;
@@ -936,9 +887,7 @@ ZA[16]+=ZA[3];
 ZA[16]+=0x00400022U;
 ZA[21]=ZA[2];
 ZA[21]+=ZA[23];
-ZA[2]=ZA[18];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[18]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[24]+=ZCh(ZA[21],ZA[20],ZA[19]);
 ZA[24]+=ZA[14];
 ZA[24]+=0xd5a79147U;
@@ -949,9 +898,7 @@ ZA[22]+=ZR25(ZA[9]);
 ZA[22]+=0x00000100U;
 ZA[18]=ZA[7];
 ZA[18]+=ZA[24];
-ZA[7]=ZA[23];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[23]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[19]+=ZCh(ZA[18],ZA[21],ZA[20]);
 ZA[19]+=ZA[16];
 ZA[19]+=0x06ca6351U;
@@ -961,9 +908,7 @@ ZA[9]+=ZR25(ZA[5]);
 ZA[9]+=ZA[15];
 ZA[23]=ZA[8];
 ZA[23]+=ZA[19];
-ZA[8]=ZA[24];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[24]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[20]+=ZCh(ZA[23],ZA[18],ZA[21]);
 ZA[20]+=ZA[22];
 ZA[20]+=0x14292967U;
@@ -973,9 +918,7 @@ ZA[5]+=ZR25(ZA[12]);
 ZA[5]+=ZA[10];
 ZA[24]=ZA[2];
 ZA[24]+=ZA[20];
-ZA[2]=ZA[19];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[19]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[21]+=ZCh(ZA[24],ZA[23],ZA[18]);
 ZA[21]+=ZA[9];
 ZA[21]+=0x27b70a85U;
@@ -985,9 +928,7 @@ ZA[12]+=ZA[11];
 ZA[12]+=ZR25(ZA[1]);
 ZA[19]=ZA[7];
 ZA[19]+=ZA[21];
-ZA[7]=ZA[20];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[20]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[18]+=ZCh(ZA[19],ZA[24],ZA[23]);
 ZA[18]+=ZA[5];
 ZA[18]+=0x2e1b2138U;
@@ -997,9 +938,7 @@ ZA[1]+=ZA[6];
 ZA[1]+=ZR25(ZA[0]);
 ZA[20]=ZA[8];
 ZA[20]+=ZA[18];
-ZA[8]=ZA[21];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[21]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[23]+=ZCh(ZA[20],ZA[19],ZA[24]);
 ZA[23]+=ZA[12];
 ZA[23]+=0x4d2c6dfcU;
@@ -1009,9 +948,7 @@ ZA[0]+=ZR25(ZA[17]);
 ZA[0]+=ZA[14];
 ZA[21]=ZA[2];
 ZA[21]+=ZA[23];
-ZA[2]=ZA[18];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[18]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[24]+=ZCh(ZA[21],ZA[20],ZA[19]);
 ZA[24]+=ZA[1];
 ZA[24]+=0x53380d13U;
@@ -1021,9 +958,7 @@ ZA[17]+=ZA[16];
 ZA[17]+=ZR25(ZA[4]);
 ZA[18]=ZA[7];
 ZA[18]+=ZA[24];
-ZA[7]=ZA[23];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[23]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[19]+=ZCh(ZA[18],ZA[21],ZA[20]);
 ZA[19]+=ZA[0];
 ZA[19]+=0x650a7354U;
@@ -1033,9 +968,7 @@ ZA[4]+=ZA[22];
 ZA[4]+=ZR25(ZA[3]);
 ZA[23]=ZA[8];
 ZA[23]+=ZA[19];
-ZA[8]=ZA[24];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[24]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[20]+=ZCh(ZA[23],ZA[18],ZA[21]);
 ZA[20]+=ZA[17];
 ZA[20]+=0x766a0abbU;
@@ -1045,9 +978,7 @@ ZA[3]+=ZA[9];
 ZA[3]+=ZR25(ZA[13]);
 ZA[24]=ZA[2];
 ZA[24]+=ZA[20];
-ZA[2]=ZA[19];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[19]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[21]+=ZCh(ZA[24],ZA[23],ZA[18]);
 ZA[21]+=ZA[4];
 ZA[21]+=0x81c2c92eU;
@@ -1057,9 +988,7 @@ ZA[13]+=ZA[5];
 ZA[13]+=ZR25(ZA[15]);
 ZA[19]=ZA[7];
 ZA[19]+=ZA[21];
-ZA[7]=ZA[20];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[20]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[18]+=ZCh(ZA[19],ZA[24],ZA[23]);
 ZA[18]+=ZA[3];
 ZA[18]+=0x92722c85U;
@@ -1069,9 +998,7 @@ ZA[15]+=ZA[12];
 ZA[15]+=ZR25(ZA[10]);
 ZA[20]=ZA[8];
 ZA[20]+=ZA[18];
-ZA[8]=ZA[21];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[21]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[23]+=ZCh(ZA[20],ZA[19],ZA[24]);
 ZA[23]+=ZA[13];
 ZA[23]+=0xa2bfe8a1U;
@@ -1081,9 +1008,7 @@ ZA[10]+=ZA[1];
 ZA[10]+=ZR25(ZA[11]);
 ZA[21]=ZA[2];
 ZA[21]+=ZA[23];
-ZA[2]=ZA[18];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[18]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[24]+=ZCh(ZA[21],ZA[20],ZA[19]);
 ZA[24]+=ZA[15];
 ZA[24]+=0xa81a664bU;
@@ -1093,9 +1018,7 @@ ZA[11]+=ZA[0];
 ZA[11]+=ZR25(ZA[6]);
 ZA[18]=ZA[7];
 ZA[18]+=ZA[24];
-ZA[7]=ZA[23];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[23]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[19]+=ZCh(ZA[18],ZA[21],ZA[20]);
 ZA[19]+=ZA[10];
 ZA[19]+=0xc24b8b70U;
@@ -1105,9 +1028,7 @@ ZA[6]+=ZA[17];
 ZA[6]+=ZR25(ZA[14]);
 ZA[23]=ZA[8];
 ZA[23]+=ZA[19];
-ZA[8]=ZA[24];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[24]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[20]+=ZCh(ZA[23],ZA[18],ZA[21]);
 ZA[20]+=ZA[11];
 ZA[20]+=0xc76c51a3U;
@@ -1117,9 +1038,7 @@ ZA[14]+=ZA[4];
 ZA[14]+=ZR25(ZA[16]);
 ZA[24]=ZA[2];
 ZA[24]+=ZA[20];
-ZA[2]=ZA[19];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[19]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[21]+=ZCh(ZA[24],ZA[23],ZA[18]);
 ZA[21]+=ZA[6];
 ZA[21]+=0xd192e819U;
@@ -1129,9 +1048,7 @@ ZA[16]+=ZA[3];
 ZA[16]+=ZR25(ZA[22]);
 ZA[19]=ZA[7];
 ZA[19]+=ZA[21];
-ZA[7]=ZA[20];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[20]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[18]+=ZCh(ZA[19],ZA[24],ZA[23]);
 ZA[18]+=ZA[14];
 ZA[18]+=0xd6990624U;
@@ -1141,9 +1058,7 @@ ZA[22]+=ZA[13];
 ZA[22]+=ZR25(ZA[9]);
 ZA[20]=ZA[8];
 ZA[20]+=ZA[18];
-ZA[8]=ZA[21];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[21]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[23]+=ZCh(ZA[20],ZA[19],ZA[24]);
 ZA[23]+=ZA[16];
 ZA[23]+=0xf40e3585U;
@@ -1153,9 +1068,7 @@ ZA[9]+=ZA[15];
 ZA[9]+=ZR25(ZA[5]);
 ZA[21]=ZA[2];
 ZA[21]+=ZA[23];
-ZA[2]=ZA[18];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[18]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[24]+=ZCh(ZA[21],ZA[20],ZA[19]);
 ZA[24]+=ZA[22];
 ZA[24]+=0x106aa070U;
@@ -1165,9 +1078,7 @@ ZA[5]+=ZA[10];
 ZA[5]+=ZR25(ZA[12]);
 ZA[18]=ZA[7];
 ZA[18]+=ZA[24];
-ZA[7]=ZA[23];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[23]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[19]+=ZCh(ZA[18],ZA[21],ZA[20]);
 ZA[19]+=ZA[9];
 ZA[19]+=0x19a4c116U;
@@ -1177,9 +1088,7 @@ ZA[12]+=ZA[11];
 ZA[12]+=ZR25(ZA[1]);
 ZA[23]=ZA[8];
 ZA[23]+=ZA[19];
-ZA[8]=ZA[24];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[24]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[20]+=ZCh(ZA[23],ZA[18],ZA[21]);
 ZA[20]+=ZA[5];
 ZA[20]+=0x1e376c08U;
@@ -1189,9 +1098,7 @@ ZA[1]+=ZA[6];
 ZA[1]+=ZR25(ZA[0]);
 ZA[24]=ZA[2];
 ZA[24]+=ZA[20];
-ZA[2]=ZA[19];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[19]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[21]+=ZCh(ZA[24],ZA[23],ZA[18]);
 ZA[21]+=ZA[12];
 ZA[21]+=0x2748774cU;
@@ -1201,9 +1108,7 @@ ZA[0]+=ZA[14];
 ZA[0]+=ZR25(ZA[17]);
 ZA[19]=ZA[7];
 ZA[19]+=ZA[21];
-ZA[7]=ZA[20];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[20]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[18]+=ZCh(ZA[19],ZA[24],ZA[23]);
 ZA[18]+=ZA[1];
 ZA[18]+=0x34b0bcb5U;
@@ -1213,9 +1118,7 @@ ZA[17]+=ZA[16];
 ZA[17]+=ZR25(ZA[4]);
 ZA[16]=ZA[8];
 ZA[16]+=ZA[18];
-ZA[8]=ZA[21];
-ZA[8]+=ZMa(ZA[2],ZA[8],ZA[7]);
-ZA[8]+=ZR30(ZA[7]);
+ZA[8]=ZA[21]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]);
 ZA[23]+=ZCh(ZA[16],ZA[19],ZA[24]);
 ZA[23]+=ZA[0];
 ZA[23]+=0x391c0cb3U;
@@ -1225,9 +1128,7 @@ ZA[4]+=ZA[22];
 ZA[4]+=ZR25(ZA[3]);
 ZA[22]=ZA[2];
 ZA[22]+=ZA[23];
-ZA[2]=ZA[18];
-ZA[2]+=ZMa(ZA[7],ZA[2],ZA[8]);
-ZA[2]+=ZR30(ZA[8]);
+ZA[2]=ZA[18]+ZMa(ZA[7],ZA[2],ZA[8])+ZR30(ZA[8]);
 ZA[24]+=ZCh(ZA[22],ZA[16],ZA[19]);
 ZA[24]+=ZA[17];
 ZA[24]+=0x4ed8aa4aU;
@@ -1237,9 +1138,7 @@ ZA[9]+=ZR25(ZA[13]);
 ZA[9]+=ZA[3];
 ZA[3]=ZA[7];
 ZA[3]+=ZA[24];
-ZA[7]=ZA[23];
-ZA[7]+=ZMa(ZA[8],ZA[7],ZA[2]);
-ZA[7]+=ZR30(ZA[2]);
+ZA[7]=ZA[23]+ZMa(ZA[8],ZA[7],ZA[2])+ZR30(ZA[2]);
 ZA[19]+=ZCh(ZA[3],ZA[22],ZA[16]);
 ZA[19]+=ZA[4];
 ZA[19]+=0x5b9cca4fU;
@@ -1268,10 +1167,7 @@ ZA[22]+=ZCh(ZA[15],ZA[4],ZA[3]);
 ZA[22]+=ZA[13];
 ZA[22]+=0x748f82eeU;
 ZA[22]+=ZR26(ZA[15]);
-ZA[13]=ZR15(ZA[13]);
-ZA[13]+=ZA[1];
-ZA[13]+=ZR25(ZA[11]);
-ZA[13]+=ZA[10];
+ZA[13]=ZR15(ZA[13])+ZA[1]+ZR25(ZA[11])+ZA[10];
 ZA[10]=ZA[7];
 ZA[10]+=ZA[22];
 ZA[1]=ZA[16];