diff --git a/diablo120222.cl b/diablo120222.cl index 7a3e217f..4f3f5cb3 100644 --- a/diablo120222.cl +++ b/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];