|
|
|
@ -60,486 +60,486 @@ __kernel __attribute__((reqd_work_group_size(WORKSIZE, 1, 1))) void search(
@@ -60,486 +60,486 @@ __kernel __attribute__((reqd_work_group_size(WORKSIZE, 1, 1))) void search(
|
|
|
|
|
__global uint * output) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
z ZA[448]; |
|
|
|
|
z ZA[25]; |
|
|
|
|
|
|
|
|
|
const z Znonce = base + (uint)(get_global_id(0)); |
|
|
|
|
|
|
|
|
|
ZA[4]=Znonce+PreVal4_state0; |
|
|
|
|
ZA[5]=(ZCh(ZA[4],b1,c1)+d1)+ZR26(ZA[4]); |
|
|
|
|
ZA[11]=Znonce+PreVal4_T1; |
|
|
|
|
ZA[6]=ZA[5]+h1; |
|
|
|
|
ZA[7]=(ZCh(ZA[6],ZA[4],b1)+c1_plus_k5)+ZR26(ZA[6]); |
|
|
|
|
ZA[12]=ZMa(f1,g1,ZA[11])+ZR30(ZA[11])+ZA[5]; |
|
|
|
|
ZA[8]=ZA[7]+g1; |
|
|
|
|
ZA[9]=(ZCh(ZA[8],ZA[6],ZA[4])+b1_plus_k6)+ZR26(ZA[8]); |
|
|
|
|
ZA[13]=ZMa(ZA[11],f1,ZA[12])+ZR30(ZA[12])+ZA[7]; |
|
|
|
|
ZA[10]=ZA[9]+f1; |
|
|
|
|
ZA[14]=ZMa(ZA[12],ZA[11],ZA[13])+ZR30(ZA[13])+ZA[9]; |
|
|
|
|
ZA[55]=Znonce+PreVal4_state0_k7+ZCh(ZA[10],ZA[8],ZA[6])+ZR26(ZA[10]); |
|
|
|
|
ZA[56]=ZA[55]+ZA[11]; |
|
|
|
|
ZA[57]=ZA[55]+ZMa(ZA[13],ZA[12],ZA[14])+ZR30(ZA[14]); |
|
|
|
|
ZA[58]=(ZCh(ZA[56],ZA[10],ZA[8])+ZA[6]+0xd807aa98U)+ZR26(ZA[56]); |
|
|
|
|
ZA[59]=ZA[58]+ZA[12]; |
|
|
|
|
ZA[60]=ZA[58]+ZMa(ZA[14],ZA[13],ZA[57])+ZR30(ZA[57]); |
|
|
|
|
ZA[61]=(ZCh(ZA[59],ZA[56],ZA[10])+ZA[8]+0x12835b01U)+ZR26(ZA[59]); |
|
|
|
|
ZA[62]=ZA[61]+ZA[13]; |
|
|
|
|
ZA[63]=ZA[61]+ZMa(ZA[57],ZA[14],ZA[60])+ZR30(ZA[60]); |
|
|
|
|
ZA[64]=(ZCh(ZA[62],ZA[59],ZA[56])+ZA[10]+0x243185beU)+ZR26(ZA[62]); |
|
|
|
|
ZA[65]=ZA[64]+ZA[14]; |
|
|
|
|
ZA[66]=ZA[64]+ZMa(ZA[60],ZA[57],ZA[63])+ZR30(ZA[63]); |
|
|
|
|
ZA[67]=(ZCh(ZA[65],ZA[62],ZA[59])+ZA[56]+0x550c7dc3U)+ZR26(ZA[65]); |
|
|
|
|
ZA[68]=ZA[67]+ZA[57]; |
|
|
|
|
ZA[69]=ZA[67]+ZMa(ZA[63],ZA[60],ZA[66])+ZR30(ZA[66]); |
|
|
|
|
ZA[70]=(ZCh(ZA[68],ZA[65],ZA[62])+ZA[59]+0x72be5d74U)+ZR26(ZA[68]); |
|
|
|
|
ZA[71]=ZA[70]+ZA[60]; |
|
|
|
|
ZA[72]=ZA[70]+ZMa(ZA[66],ZA[63],ZA[69])+ZR30(ZA[69]); |
|
|
|
|
ZA[73]=(ZCh(ZA[71],ZA[68],ZA[65])+ZA[62]+0x80deb1feU)+ZR26(ZA[71]); |
|
|
|
|
ZA[74]=ZA[63]+ZA[73]; |
|
|
|
|
ZA[75]=ZA[73]+ZMa(ZA[69],ZA[66],ZA[72])+ZR30(ZA[72]); |
|
|
|
|
ZA[76]=(ZCh(ZA[74],ZA[71],ZA[68])+ZA[65]+0x9bdc06a7U)+ZR26(ZA[74]); |
|
|
|
|
ZA[77]=ZA[66]+ZA[76]; |
|
|
|
|
ZA[78]=ZA[76]+ZMa(ZA[72],ZA[69],ZA[75])+ZR30(ZA[75]); |
|
|
|
|
ZA[79]=(ZCh(ZA[77],ZA[74],ZA[71])+ZA[68]+0xc19bf3f4U)+ZR26(ZA[77]); |
|
|
|
|
ZA[80]=ZA[69]+ZA[79]; |
|
|
|
|
ZA[81]=ZA[79]+ZMa(ZA[75],ZA[72],ZA[78])+ZR30(ZA[78]); |
|
|
|
|
ZA[82]=(ZCh(ZA[80],ZA[77],ZA[74])+ZA[71]+W16_plus_K16)+ZR26(ZA[80]); |
|
|
|
|
ZA[2]=Znonce+PreVal4_state0; |
|
|
|
|
ZA[3]=(ZCh(ZA[2],b1,c1)+d1)+ZR26(ZA[2]); |
|
|
|
|
ZA[8]=Znonce+PreVal4_T1; |
|
|
|
|
ZA[4]=ZA[3]+h1; |
|
|
|
|
ZA[5]=(ZCh(ZA[4],ZA[2],b1)+c1_plus_k5)+ZR26(ZA[4]); |
|
|
|
|
ZA[3]=ZMa(f1,g1,ZA[8])+ZR30(ZA[8])+ZA[3]; |
|
|
|
|
ZA[6]=ZA[5]+g1; |
|
|
|
|
ZA[2]=(ZCh(ZA[6],ZA[4],ZA[2])+b1_plus_k6)+ZR26(ZA[6]); |
|
|
|
|
ZA[5]=ZMa(ZA[8],f1,ZA[3])+ZR30(ZA[3])+ZA[5]; |
|
|
|
|
ZA[7]=ZA[2]+f1; |
|
|
|
|
ZA[2]=ZMa(ZA[3],ZA[8],ZA[5])+ZR30(ZA[5])+ZA[2]; |
|
|
|
|
ZA[10]=Znonce+PreVal4_state0_k7+ZCh(ZA[7],ZA[6],ZA[4])+ZR26(ZA[7]); |
|
|
|
|
ZA[8]=ZA[10]+ZA[8]; |
|
|
|
|
ZA[10]=ZA[10]+ZMa(ZA[5],ZA[3],ZA[2])+ZR30(ZA[2]); |
|
|
|
|
ZA[4]=(ZCh(ZA[8],ZA[7],ZA[6])+ZA[4]+0xd807aa98U)+ZR26(ZA[8]); |
|
|
|
|
ZA[3]=ZA[4]+ZA[3]; |
|
|
|
|
ZA[4]=ZA[4]+ZMa(ZA[2],ZA[5],ZA[10])+ZR30(ZA[10]); |
|
|
|
|
ZA[6]=(ZCh(ZA[3],ZA[8],ZA[7])+ZA[6]+0x12835b01U)+ZR26(ZA[3]); |
|
|
|
|
ZA[5]=ZA[6]+ZA[5]; |
|
|
|
|
ZA[6]=ZA[6]+ZMa(ZA[10],ZA[2],ZA[4])+ZR30(ZA[4]); |
|
|
|
|
ZA[7]=(ZCh(ZA[5],ZA[3],ZA[8])+ZA[7]+0x243185beU)+ZR26(ZA[5]); |
|
|
|
|
ZA[2]=ZA[7]+ZA[2]; |
|
|
|
|
ZA[7]=ZA[7]+ZMa(ZA[4],ZA[10],ZA[6])+ZR30(ZA[6]); |
|
|
|
|
ZA[8]=(ZCh(ZA[2],ZA[5],ZA[3])+ZA[8]+0x550c7dc3U)+ZR26(ZA[2]); |
|
|
|
|
ZA[10]=ZA[8]+ZA[10]; |
|
|
|
|
ZA[8]=ZA[8]+ZMa(ZA[6],ZA[4],ZA[7])+ZR30(ZA[7]); |
|
|
|
|
ZA[3]=(ZCh(ZA[10],ZA[2],ZA[5])+ZA[3]+0x72be5d74U)+ZR26(ZA[10]); |
|
|
|
|
ZA[4]=ZA[3]+ZA[4]; |
|
|
|
|
ZA[3]=ZA[3]+ZMa(ZA[7],ZA[6],ZA[8])+ZR30(ZA[8]); |
|
|
|
|
ZA[5]=(ZCh(ZA[4],ZA[10],ZA[2])+ZA[5]+0x80deb1feU)+ZR26(ZA[4]); |
|
|
|
|
ZA[6]=ZA[6]+ZA[5]; |
|
|
|
|
ZA[5]=ZA[5]+ZMa(ZA[8],ZA[7],ZA[3])+ZR30(ZA[3]); |
|
|
|
|
ZA[2]=(ZCh(ZA[6],ZA[4],ZA[10])+ZA[2]+0x9bdc06a7U)+ZR26(ZA[6]); |
|
|
|
|
ZA[7]=ZA[7]+ZA[2]; |
|
|
|
|
ZA[2]=ZA[2]+ZMa(ZA[3],ZA[8],ZA[5])+ZR30(ZA[5]); |
|
|
|
|
ZA[10]=(ZCh(ZA[7],ZA[6],ZA[4])+ZA[10]+0xc19bf3f4U)+ZR26(ZA[7]); |
|
|
|
|
ZA[8]=ZA[8]+ZA[10]; |
|
|
|
|
ZA[10]=ZA[10]+ZMa(ZA[5],ZA[3],ZA[2])+ZR30(ZA[2]); |
|
|
|
|
ZA[4]=(ZCh(ZA[8],ZA[7],ZA[6])+ZA[4]+W16_plus_K16)+ZR26(ZA[8]); |
|
|
|
|
ZA[0]=ZR25(Znonce)+W18; |
|
|
|
|
ZA[84]=ZA[82]+ZMa(ZA[78],ZA[75],ZA[81])+ZR30(ZA[81]); |
|
|
|
|
ZA[83]=ZA[72]+ZA[82]; |
|
|
|
|
ZA[85]=(ZCh(ZA[83],ZA[80],ZA[77])+ZA[74]+W17_plus_K17)+ZR26(ZA[83]); |
|
|
|
|
ZA[86]=ZA[75]+ZA[85]; |
|
|
|
|
ZA[87]=ZA[85]+ZMa(ZA[81],ZA[78],ZA[84])+ZR30(ZA[84]); |
|
|
|
|
ZA[15]=Znonce+W19; |
|
|
|
|
ZA[88]=(ZCh(ZA[86],ZA[83],ZA[80])+ZA[77]+ZA[0]+0x0fc19dc6U)+ZR26(ZA[86]); |
|
|
|
|
ZA[11]=ZA[4]+ZMa(ZA[2],ZA[5],ZA[10])+ZR30(ZA[10]); |
|
|
|
|
ZA[4]=ZA[3]+ZA[4]; |
|
|
|
|
ZA[6]=(ZCh(ZA[4],ZA[8],ZA[7])+ZA[6]+W17_plus_K17)+ZR26(ZA[4]); |
|
|
|
|
ZA[5]=ZA[5]+ZA[6]; |
|
|
|
|
ZA[6]=ZA[6]+ZMa(ZA[10],ZA[2],ZA[11])+ZR30(ZA[11]); |
|
|
|
|
ZA[3]=Znonce+W19; |
|
|
|
|
ZA[7]=(ZCh(ZA[5],ZA[4],ZA[8])+ZA[7]+ZA[0]+0x0fc19dc6U)+ZR26(ZA[5]); |
|
|
|
|
ZA[1]=ZR15(ZA[0])+0x80000000U; |
|
|
|
|
ZA[90]=ZA[88]+ZMa(ZA[84],ZA[81],ZA[87])+ZR30(ZA[87]); |
|
|
|
|
ZA[89]=ZA[78]+ZA[88]; |
|
|
|
|
ZA[91]=(ZCh(ZA[89],ZA[86],ZA[83])+ZA[80]+ZA[15]+0x240ca1ccU)+ZR26(ZA[89]); |
|
|
|
|
ZA[16]=ZR15(ZA[15]); |
|
|
|
|
ZA[93]=ZA[91]+ZMa(ZA[87],ZA[84],ZA[90])+ZR30(ZA[90]); |
|
|
|
|
ZA[92]=ZA[81]+ZA[91]; |
|
|
|
|
ZA[94]=(ZCh(ZA[92],ZA[89],ZA[86])+ZA[83]+ZA[1]+0x2de92c6fU)+ZR26(ZA[92]); |
|
|
|
|
ZA[2]=ZR15(ZA[1])+0x00000280U; |
|
|
|
|
ZA[96]=ZA[94]+ZMa(ZA[90],ZA[87],ZA[93])+ZR30(ZA[93]); |
|
|
|
|
ZA[95]=ZA[84]+ZA[94]; |
|
|
|
|
ZA[97]=(ZCh(ZA[95],ZA[92],ZA[89])+ZA[86]+ZA[16]+0x4a7484aaU)+ZR26(ZA[95]); |
|
|
|
|
ZA[17]=ZR15(ZA[16])+W16; |
|
|
|
|
ZA[99]=ZA[97]+ZMa(ZA[93],ZA[90],ZA[96])+ZR30(ZA[96]); |
|
|
|
|
ZA[98]=ZA[87]+ZA[97]; |
|
|
|
|
ZA[100]=(ZCh(ZA[98],ZA[95],ZA[92])+ZA[89]+ZA[2]+0x5cb0a9dcU)+ZR26(ZA[98]); |
|
|
|
|
ZA[3]=ZR15(ZA[2])+W17; |
|
|
|
|
ZA[102]=ZA[100]+ZMa(ZA[96],ZA[93],ZA[99])+ZR30(ZA[99]); |
|
|
|
|
ZA[101]=ZA[90]+ZA[100]; |
|
|
|
|
ZA[103]=(ZCh(ZA[101],ZA[98],ZA[95])+ZA[92]+ZA[17]+0x76f988daU)+ZR26(ZA[101]); |
|
|
|
|
ZA[18]=ZR15(ZA[17])+ZA[0]; |
|
|
|
|
ZA[105]=ZA[103]+ZMa(ZA[99],ZA[96],ZA[102])+ZR30(ZA[102]); |
|
|
|
|
ZA[104]=ZA[93]+ZA[103]; |
|
|
|
|
ZA[106]=(ZCh(ZA[104],ZA[101],ZA[98])+ZA[95]+ZA[3]+0x983e5152U)+ZR26(ZA[104]); |
|
|
|
|
ZA[20]=ZR15(ZA[3])+ZA[15]; |
|
|
|
|
ZA[107]=ZA[96]+ZA[106]; |
|
|
|
|
ZA[108]=ZA[106]+ZMa(ZA[102],ZA[99],ZA[105])+ZR30(ZA[105]); |
|
|
|
|
ZA[109]=(ZCh(ZA[107],ZA[104],ZA[101])+ZA[98]+ZA[18]+0xa831c66dU)+ZR26(ZA[107]); |
|
|
|
|
ZA[19]=ZR15(ZA[18])+ZA[1]; |
|
|
|
|
ZA[111]=ZA[109]+ZMa(ZA[105],ZA[102],ZA[108])+ZR30(ZA[108]); |
|
|
|
|
ZA[110]=ZA[99]+ZA[109]; |
|
|
|
|
ZA[112]=(ZCh(ZA[110],ZA[107],ZA[104])+ZA[101]+ZA[20]+0xb00327c8U)+ZR26(ZA[110]); |
|
|
|
|
ZA[22]=ZR15(ZA[20])+ZA[16]; |
|
|
|
|
ZA[114]=ZA[112]+ZMa(ZA[108],ZA[105],ZA[111])+ZR30(ZA[111]); |
|
|
|
|
ZA[113]=ZA[102]+ZA[112]; |
|
|
|
|
ZA[115]=(ZCh(ZA[113],ZA[110],ZA[107])+ZA[104]+ZA[19]+0xbf597fc7U)+ZR26(ZA[113]); |
|
|
|
|
ZA[21]=ZR15(ZA[19])+ZA[2]; |
|
|
|
|
ZA[117]=ZA[115]+ZMa(ZA[111],ZA[108],ZA[114])+ZR30(ZA[114]); |
|
|
|
|
ZA[116]=ZA[105]+ZA[115]; |
|
|
|
|
ZA[118]=(ZCh(ZA[116],ZA[113],ZA[110])+ZA[107]+ZA[22]+0xc6e00bf3U)+ZR26(ZA[116]); |
|
|
|
|
ZA[23]=ZR15(ZA[22])+ZA[17]+0x00A00055U; |
|
|
|
|
ZA[120]=ZA[118]+ZMa(ZA[114],ZA[111],ZA[117])+ZR30(ZA[117]); |
|
|
|
|
ZA[119]=ZA[108]+ZA[118]; |
|
|
|
|
ZA[121]=(ZCh(ZA[119],ZA[116],ZA[113])+ZA[110]+ZA[21]+0xd5a79147U)+ZR26(ZA[119]); |
|
|
|
|
ZA[24]=ZR15(ZA[21])+ZA[3]+W31; |
|
|
|
|
ZA[123]=ZA[121]+ZMa(ZA[117],ZA[114],ZA[120])+ZR30(ZA[120]); |
|
|
|
|
ZA[122]=ZA[111]+ZA[121]; |
|
|
|
|
ZA[124]=(ZCh(ZA[122],ZA[119],ZA[116])+ZA[113]+ZA[23]+0x06ca6351U)+ZR26(ZA[122]); |
|
|
|
|
ZA[26]=ZR15(ZA[23])+ZA[18]+W32; |
|
|
|
|
ZA[126]=ZA[124]+ZMa(ZA[120],ZA[117],ZA[123])+ZR30(ZA[123]); |
|
|
|
|
ZA[125]=ZA[114]+ZA[124]; |
|
|
|
|
ZA[127]=(ZCh(ZA[125],ZA[122],ZA[119])+ZA[116]+ZA[24]+0x14292967U)+ZR26(ZA[125]); |
|
|
|
|
ZA[25]=ZR15(ZA[24])+ZA[20]+ZR25(ZA[0])+W17; |
|
|
|
|
ZA[128]=ZA[117]+ZA[127]; |
|
|
|
|
ZA[129]=ZA[127]+ZMa(ZA[123],ZA[120],ZA[126])+ZR30(ZA[126]); |
|
|
|
|
ZA[130]=(ZCh(ZA[128],ZA[125],ZA[122])+ZA[119]+ZA[26]+0x27b70a85U)+ZR26(ZA[128]); |
|
|
|
|
ZA[27]=ZR15(ZA[26])+ZR25(ZA[15])+ZA[0]+ZA[19]; |
|
|
|
|
ZA[132]=ZA[130]+ZMa(ZA[126],ZA[123],ZA[129])+ZR30(ZA[129]); |
|
|
|
|
ZA[131]=ZA[120]+ZA[130]; |
|
|
|
|
ZA[133]=(ZCh(ZA[131],ZA[128],ZA[125])+ZA[122]+ZA[25]+0x2e1b2138U)+ZR26(ZA[131]); |
|
|
|
|
ZA[28]=ZR15(ZA[25])+ZA[15]+ZR25(ZA[1])+ZA[22]; |
|
|
|
|
ZA[134]=ZA[123]+ZA[133]; |
|
|
|
|
ZA[135]=ZA[133]+ZMa(ZA[129],ZA[126],ZA[132])+ZR30(ZA[132]); |
|
|
|
|
ZA[136]=(ZCh(ZA[134],ZA[131],ZA[128])+ZA[125]+ZA[27]+0x4d2c6dfcU)+ZR26(ZA[134]); |
|
|
|
|
ZA[29]=ZR15(ZA[27])+ZR25(ZA[16])+ZA[1]+ZA[21]; |
|
|
|
|
ZA[138]=ZA[136]+ZMa(ZA[132],ZA[129],ZA[135])+ZR30(ZA[135]); |
|
|
|
|
ZA[137]=ZA[126]+ZA[136]; |
|
|
|
|
ZA[139]=(ZCh(ZA[137],ZA[134],ZA[131])+ZA[128]+ZA[28]+0x53380d13U)+ZR26(ZA[137]); |
|
|
|
|
ZA[30]=ZR15(ZA[28])+ZA[16]+ZR25(ZA[2])+ZA[23]; |
|
|
|
|
ZA[140]=ZA[129]+ZA[139]; |
|
|
|
|
ZA[141]=ZA[139]+ZMa(ZA[135],ZA[132],ZA[138])+ZR30(ZA[138]); |
|
|
|
|
ZA[142]=(ZCh(ZA[140],ZA[137],ZA[134])+ZA[131]+ZA[29]+0x650a7354U)+ZR26(ZA[140]); |
|
|
|
|
ZA[31]=ZR15(ZA[29])+ZR25(ZA[17])+ZA[2]+ZA[24]; |
|
|
|
|
ZA[144]=ZA[142]+ZMa(ZA[138],ZA[135],ZA[141])+ZR30(ZA[141]); |
|
|
|
|
ZA[143]=ZA[132]+ZA[142]; |
|
|
|
|
ZA[145]=(ZCh(ZA[143],ZA[140],ZA[137])+ZA[134]+ZA[30]+0x766a0abbU)+ZR26(ZA[143]); |
|
|
|
|
ZA[32]=ZR15(ZA[30])+ZA[17]+ZR25(ZA[3])+ZA[26]; |
|
|
|
|
ZA[146]=ZA[135]+ZA[145]; |
|
|
|
|
ZA[147]=ZA[145]+ZMa(ZA[141],ZA[138],ZA[144])+ZR30(ZA[144]); |
|
|
|
|
ZA[148]=(ZCh(ZA[146],ZA[143],ZA[140])+ZA[137]+ZA[31]+0x81c2c92eU)+ZR26(ZA[146]); |
|
|
|
|
ZA[33]=ZR15(ZA[31])+ZR25(ZA[18])+ZA[3]+ZA[25]; |
|
|
|
|
ZA[149]=ZA[138]+ZA[148]; |
|
|
|
|
ZA[150]=ZA[148]+ZMa(ZA[144],ZA[141],ZA[147])+ZR30(ZA[147]); |
|
|
|
|
ZA[151]=(ZCh(ZA[149],ZA[146],ZA[143])+ZA[140]+ZA[32]+0x92722c85U)+ZR26(ZA[149]); |
|
|
|
|
ZA[34]=ZR15(ZA[32])+ZR25(ZA[20])+ZA[18]+ZA[27]; |
|
|
|
|
ZA[152]=ZA[141]+ZA[151]; |
|
|
|
|
ZA[153]=ZA[151]+ZMa(ZA[147],ZA[144],ZA[150])+ZR30(ZA[150]); |
|
|
|
|
ZA[154]=(ZCh(ZA[152],ZA[149],ZA[146])+ZA[143]+ZA[33]+0xa2bfe8a1U)+ZR26(ZA[152]); |
|
|
|
|
ZA[35]=ZR15(ZA[33])+ZR25(ZA[19])+ZA[20]+ZA[28]; |
|
|
|
|
ZA[155]=ZA[144]+ZA[154]; |
|
|
|
|
ZA[156]=ZA[154]+ZMa(ZA[150],ZA[147],ZA[153])+ZR30(ZA[153]); |
|
|
|
|
ZA[157]=(ZCh(ZA[155],ZA[152],ZA[149])+ZA[146]+ZA[34]+0xa81a664bU)+ZR26(ZA[155]); |
|
|
|
|
ZA[36]=ZR15(ZA[34])+ZA[29]+ZR25(ZA[22])+ZA[19]; |
|
|
|
|
ZA[159]=ZA[157]+ZMa(ZA[153],ZA[150],ZA[156])+ZR30(ZA[156]); |
|
|
|
|
ZA[158]=ZA[147]+ZA[157]; |
|
|
|
|
ZA[160]=(ZCh(ZA[158],ZA[155],ZA[152])+ZA[149]+ZA[35]+0xc24b8b70U)+ZR26(ZA[158]); |
|
|
|
|
ZA[37]=ZR15(ZA[35])+ZA[30]+ZR25(ZA[21])+ZA[22]; |
|
|
|
|
ZA[161]=ZA[150]+ZA[160]; |
|
|
|
|
ZA[162]=ZA[160]+ZMa(ZA[156],ZA[153],ZA[159])+ZR30(ZA[159]); |
|
|
|
|
ZA[163]=(ZCh(ZA[161],ZA[158],ZA[155])+ZA[152]+ZA[36]+0xc76c51a3U)+ZR26(ZA[161]); |
|
|
|
|
ZA[38]=ZR15(ZA[36])+ZR25(ZA[23])+ZA[21]+ZA[31]; |
|
|
|
|
ZA[164]=ZA[153]+ZA[163]; |
|
|
|
|
ZA[165]=ZA[163]+ZMa(ZA[159],ZA[156],ZA[162])+ZR30(ZA[162]); |
|
|
|
|
ZA[166]=(ZCh(ZA[164],ZA[161],ZA[158])+ZA[155]+ZA[37]+0xd192e819U)+ZR26(ZA[164]); |
|
|
|
|
ZA[39]=ZR15(ZA[37])+ZR25(ZA[24])+ZA[23]+ZA[32]; |
|
|
|
|
ZA[167]=ZA[156]+ZA[166]; |
|
|
|
|
ZA[168]=ZA[166]+ZMa(ZA[162],ZA[159],ZA[165])+ZR30(ZA[165]); |
|
|
|
|
ZA[169]=(ZCh(ZA[167],ZA[164],ZA[161])+ZA[158]+ZA[38]+0xd6990624U)+ZR26(ZA[167]); |
|
|
|
|
ZA[40]=ZR15(ZA[38])+ZA[33]+ZR25(ZA[26])+ZA[24]; |
|
|
|
|
ZA[170]=ZA[159]+ZA[169]; |
|
|
|
|
ZA[171]=ZA[169]+ZMa(ZA[165],ZA[162],ZA[168])+ZR30(ZA[168]); |
|
|
|
|
ZA[172]=(ZCh(ZA[170],ZA[167],ZA[164])+ZA[161]+ZA[39]+0xf40e3585U)+ZR26(ZA[170]); |
|
|
|
|
ZA[41]=ZR15(ZA[39])+ZA[34]+ZR25(ZA[25])+ZA[26]; |
|
|
|
|
ZA[173]=ZA[162]+ZA[172]; |
|
|
|
|
ZA[174]=ZA[172]+ZMa(ZA[168],ZA[165],ZA[171])+ZR30(ZA[171]); |
|
|
|
|
ZA[175]=(ZCh(ZA[173],ZA[170],ZA[167])+ZA[164]+ZA[40]+0x106aa070U)+ZR26(ZA[173]); |
|
|
|
|
ZA[42]=ZR15(ZA[40])+ZA[35]+ZR25(ZA[27])+ZA[25]; |
|
|
|
|
ZA[176]=ZA[165]+ZA[175]; |
|
|
|
|
ZA[177]=ZA[175]+ZMa(ZA[171],ZA[168],ZA[174])+ZR30(ZA[174]); |
|
|
|
|
ZA[178]=(ZCh(ZA[176],ZA[173],ZA[170])+ZA[167]+ZA[41]+0x19a4c116U)+ZR26(ZA[176]); |
|
|
|
|
ZA[43]=ZR15(ZA[41])+ZA[36]+ZR25(ZA[28])+ZA[27]; |
|
|
|
|
ZA[179]=ZA[168]+ZA[178]; |
|
|
|
|
ZA[180]=ZA[178]+ZMa(ZA[174],ZA[171],ZA[177])+ZR30(ZA[177]); |
|
|
|
|
ZA[181]=(ZCh(ZA[179],ZA[176],ZA[173])+ZA[170]+ZA[42]+0x1e376c08U)+ZR26(ZA[179]); |
|
|
|
|
ZA[44]=ZR15(ZA[42])+ZA[37]+ZR25(ZA[29])+ZA[28]; |
|
|
|
|
ZA[182]=ZA[171]+ZA[181]; |
|
|
|
|
ZA[183]=ZA[181]+ZMa(ZA[177],ZA[174],ZA[180])+ZR30(ZA[180]); |
|
|
|
|
ZA[184]=(ZCh(ZA[182],ZA[179],ZA[176])+ZA[173]+ZA[43]+0x2748774cU)+ZR26(ZA[182]); |
|
|
|
|
ZA[45]=ZR15(ZA[43])+ZA[38]+ZR25(ZA[30])+ZA[29]; |
|
|
|
|
ZA[185]=ZA[174]+ZA[184]; |
|
|
|
|
ZA[186]=ZA[184]+ZMa(ZA[180],ZA[177],ZA[183])+ZR30(ZA[183]); |
|
|
|
|
ZA[187]=(ZCh(ZA[185],ZA[182],ZA[179])+ZA[176]+ZA[44]+0x34b0bcb5U)+ZR26(ZA[185]); |
|
|
|
|
ZA[46]=ZR15(ZA[44])+ZA[39]+ZR25(ZA[31])+ZA[30]; |
|
|
|
|
ZA[188]=ZA[177]+ZA[187]; |
|
|
|
|
ZA[189]=ZA[187]+ZMa(ZA[183],ZA[180],ZA[186])+ZR30(ZA[186]); |
|
|
|
|
ZA[190]=(ZCh(ZA[188],ZA[185],ZA[182])+ZA[179]+ZA[45]+0x391c0cb3U)+ZR26(ZA[188]); |
|
|
|
|
ZA[47]=ZR15(ZA[45])+ZA[40]+ZR25(ZA[32])+ZA[31]; |
|
|
|
|
ZA[191]=ZA[180]+ZA[190]; |
|
|
|
|
ZA[192]=ZA[190]+ZMa(ZA[186],ZA[183],ZA[189])+ZR30(ZA[189]); |
|
|
|
|
ZA[193]=(ZCh(ZA[191],ZA[188],ZA[185])+ZA[182]+ZA[46]+0x4ed8aa4aU)+ZR26(ZA[191]); |
|
|
|
|
ZA[48]=ZR15(ZA[46])+ZA[41]+ZR25(ZA[33])+ZA[32]; |
|
|
|
|
ZA[194]=ZA[183]+ZA[193]; |
|
|
|
|
ZA[195]=ZA[193]+ZMa(ZA[189],ZA[186],ZA[192])+ZR30(ZA[192]); |
|
|
|
|
ZA[196]=(ZCh(ZA[194],ZA[191],ZA[188])+ZA[185]+ZA[47]+0x5b9cca4fU)+ZR26(ZA[194]); |
|
|
|
|
ZA[49]=ZR15(ZA[47])+ZA[42]+ZR25(ZA[34])+ZA[33]; |
|
|
|
|
ZA[197]=ZA[186]+ZA[196]; |
|
|
|
|
ZA[198]=ZA[196]+ZMa(ZA[192],ZA[189],ZA[195])+ZR30(ZA[195]); |
|
|
|
|
ZA[199]=(ZCh(ZA[197],ZA[194],ZA[191])+ZA[188]+ZA[48]+0x682e6ff3U)+ZR26(ZA[197]); |
|
|
|
|
ZA[50]=ZR15(ZA[48])+ZA[43]+ZR25(ZA[35])+ZA[34]; |
|
|
|
|
ZA[200]=ZA[189]+ZA[199]; |
|
|
|
|
ZA[201]=ZA[199]+ZMa(ZA[195],ZA[192],ZA[198])+ZR30(ZA[198]); |
|
|
|
|
ZA[202]=(ZCh(ZA[200],ZA[197],ZA[194])+ZA[191]+ZA[49]+0x748f82eeU)+ZR26(ZA[200]); |
|
|
|
|
ZA[51]=ZR15(ZA[49])+ZA[44]+ZR25(ZA[36])+ZA[35]; |
|
|
|
|
ZA[203]=ZA[192]+ZA[202]; |
|
|
|
|
ZA[204]=ZA[202]+ZMa(ZA[198],ZA[195],ZA[201])+ZR30(ZA[201]); |
|
|
|
|
ZA[205]=(ZCh(ZA[203],ZA[200],ZA[197])+ZA[194]+ZA[50]+0x78a5636fU)+ZR26(ZA[203]); |
|
|
|
|
ZA[52]=ZR15(ZA[50])+ZA[45]+ZR25(ZA[37])+ZA[36]; |
|
|
|
|
ZA[206]=ZA[195]+ZA[205]; |
|
|
|
|
ZA[207]=ZA[205]+ZMa(ZA[201],ZA[198],ZA[204])+ZR30(ZA[204]); |
|
|
|
|
ZA[208]=(ZCh(ZA[206],ZA[203],ZA[200])+ZA[197]+ZA[51]+0x84c87814U)+ZR26(ZA[206]); |
|
|
|
|
ZA[53]=ZR15(ZA[51])+ZA[46]+ZR25(ZA[38])+ZA[37]; |
|
|
|
|
ZA[209]=ZA[198]+ZA[208]; |
|
|
|
|
ZA[210]=ZA[208]+ZMa(ZA[204],ZA[201],ZA[207])+ZR30(ZA[207]); |
|
|
|
|
ZA[211]=(ZCh(ZA[209],ZA[206],ZA[203])+ZA[200]+ZA[52]+0x8cc70208U)+ZR26(ZA[209]); |
|
|
|
|
ZA[54]=ZR15(ZA[52])+ZA[47]+ZR25(ZA[39])+ZA[38]; |
|
|
|
|
ZA[212]=ZA[201]+ZA[211]; |
|
|
|
|
ZA[213]=ZA[211]+ZMa(ZA[207],ZA[204],ZA[210])+ZR30(ZA[210]); |
|
|
|
|
ZA[214]=(ZCh(ZA[212],ZA[209],ZA[206])+ZA[203]+ZA[53]+0x90befffaU)+ZR26(ZA[212]); |
|
|
|
|
ZA[215]=ZA[204]+ZA[214]; |
|
|
|
|
ZA[216]=ZA[214]+ZMa(ZA[210],ZA[207],ZA[213])+ZR30(ZA[213]); |
|
|
|
|
ZA[217]=(ZCh(ZA[215],ZA[212],ZA[209])+ZA[206]+ZA[54]+0xa4506cebU)+ZR26(ZA[215]); |
|
|
|
|
ZA[219]=ZA[217]+ZMa(ZA[213],ZA[210],ZA[216])+ZR30(ZA[216]); |
|
|
|
|
ZA[218]=ZA[207]+ZA[217]; |
|
|
|
|
ZA[220]=(ZCh(ZA[218],ZA[215],ZA[212])+ZA[209]+ZR15(ZA[53])+ZA[48]+ZR25(ZA[40])+ZA[39]+0xbef9a3f7U)+ZR26(ZA[218]); |
|
|
|
|
ZA[221]=ZA[210]+ZA[220]; |
|
|
|
|
ZA[222]=ZA[220]+ZMa(ZA[216],ZA[213],ZA[219])+ZR30(ZA[219]); |
|
|
|
|
ZA[223]=(ZCh(ZA[221],ZA[218],ZA[215])+ZA[212]+ZR15(ZA[54])+ZA[49]+ZR25(ZA[41])+ZA[40]+0xc67178f2U)+ZR26(ZA[221]); |
|
|
|
|
ZA[225]=ZA[222]+state1; |
|
|
|
|
ZA[224]=ZA[223]+ZMa(ZA[219],ZA[216],ZA[222])+ZR30(ZA[222])+state0; |
|
|
|
|
ZA[235]=ZA[224]+0x98c7e2a2U; |
|
|
|
|
ZA[238]=(ZCh(ZA[235],0x510e527fU,0x9b05688cU)+ZA[225]+0x90bb1e3cU)+ZR26(ZA[235]); |
|
|
|
|
ZA[226]=ZA[219]+state2; |
|
|
|
|
ZA[236]=ZA[224]+0xfc08884dU; |
|
|
|
|
ZA[242]=ZA[238]+0x3c6ef372U; |
|
|
|
|
ZA[243]=(ZCh(ZA[242],ZA[235],0x510e527fU)+ZA[226]+0x50c6645bU)+ZR26(ZA[242]); |
|
|
|
|
ZA[227]=ZA[216]+state3; |
|
|
|
|
ZA[239]=ZA[238]+ZMa(0x6a09e667U,0xbb67ae85U,ZA[236])+ZR30(ZA[236]); |
|
|
|
|
ZA[244]=ZA[243]+0xbb67ae85U; |
|
|
|
|
ZA[246]=(ZCh(ZA[244],ZA[242],ZA[235])+ZA[227]+0x3ac42e24U)+ZR26(ZA[244]); |
|
|
|
|
ZA[228]=ZA[213]+ZA[223]+state4; |
|
|
|
|
ZA[247]=ZA[246]+0x6a09e667U; |
|
|
|
|
ZA[245]=ZMa(ZA[236],0x6a09e667U,ZA[239])+ZR30(ZA[239])+ZA[243]; |
|
|
|
|
ZA[229]=ZA[221]+state5; |
|
|
|
|
ZA[249]=(ZCh(ZA[247],ZA[244],ZA[242])+ZA[228]+ZA[224]+0xd21ea4fdU)+ZR26(ZA[247]); |
|
|
|
|
ZA[250]=ZA[236]+ZA[249]; |
|
|
|
|
ZA[248]=ZA[246]+ZMa(ZA[239],ZA[236],ZA[245])+ZR30(ZA[245]); |
|
|
|
|
ZA[230]=ZA[218]+state6; |
|
|
|
|
ZA[253]=(ZCh(ZA[250],ZA[247],ZA[244])+ZA[242]+ZA[229]+0x59f111f1U)+ZR26(ZA[250]); |
|
|
|
|
ZA[254]=ZA[239]+ZA[253]; |
|
|
|
|
ZA[251]=ZA[249]+ZMa(ZA[245],ZA[239],ZA[248])+ZR30(ZA[248]); |
|
|
|
|
ZA[231]=ZA[215]+state7; |
|
|
|
|
ZA[256]=(ZCh(ZA[254],ZA[250],ZA[247])+ZA[244]+ZA[230]+0x923f82a4U)+ZR26(ZA[254]); |
|
|
|
|
ZA[257]=ZA[245]+ZA[256]; |
|
|
|
|
ZA[255]=ZA[253]+ZMa(ZA[248],ZA[245],ZA[251])+ZR30(ZA[251]); |
|
|
|
|
ZA[260]=(ZCh(ZA[257],ZA[254],ZA[250])+ZA[247]+ZA[231]+0xab1c5ed5U)+ZR26(ZA[257]); |
|
|
|
|
ZA[261]=ZA[248]+ZA[260]; |
|
|
|
|
ZA[258]=ZMa(ZA[251],ZA[248],ZA[255])+ZR30(ZA[255])+ZA[256]; |
|
|
|
|
ZA[263]=(ZCh(ZA[261],ZA[257],ZA[254])+ZA[250]+0x5807aa98U)+ZR26(ZA[261]); |
|
|
|
|
ZA[264]=ZA[251]+ZA[263]; |
|
|
|
|
ZA[262]=ZMa(ZA[255],ZA[251],ZA[258])+ZR30(ZA[258])+ZA[260]; |
|
|
|
|
ZA[267]=(ZCh(ZA[264],ZA[261],ZA[257])+ZA[254]+0x12835b01U)+ZR26(ZA[264]); |
|
|
|
|
ZA[268]=ZA[255]+ZA[267]; |
|
|
|
|
ZA[265]=ZMa(ZA[258],ZA[255],ZA[262])+ZR30(ZA[262])+ZA[263]; |
|
|
|
|
ZA[270]=(ZCh(ZA[268],ZA[264],ZA[261])+ZA[257]+0x243185beU)+ZR26(ZA[268]); |
|
|
|
|
ZA[271]=ZA[258]+ZA[270]; |
|
|
|
|
ZA[269]=ZMa(ZA[262],ZA[258],ZA[265])+ZR30(ZA[265])+ZA[267]; |
|
|
|
|
ZA[275]=(ZCh(ZA[271],ZA[268],ZA[264])+ZA[261]+0x550c7dc3U)+ZR26(ZA[271]); |
|
|
|
|
ZA[276]=ZA[262]+ZA[275]; |
|
|
|
|
ZA[272]=ZMa(ZA[265],ZA[262],ZA[269])+ZR30(ZA[269])+ZA[270]; |
|
|
|
|
ZA[278]=(ZCh(ZA[276],ZA[271],ZA[268])+ZA[264]+0x72be5d74U)+ZR26(ZA[276]); |
|
|
|
|
ZA[279]=ZA[265]+ZA[278]; |
|
|
|
|
ZA[277]=ZMa(ZA[269],ZA[265],ZA[272])+ZR30(ZA[272])+ZA[275]; |
|
|
|
|
ZA[283]=(ZCh(ZA[279],ZA[276],ZA[271])+ZA[268]+0x80deb1feU)+ZR26(ZA[279]); |
|
|
|
|
ZA[284]=ZA[269]+ZA[283]; |
|
|
|
|
ZA[280]=ZA[278]+ZMa(ZA[272],ZA[269],ZA[277])+ZR30(ZA[277]); |
|
|
|
|
ZA[286]=(ZCh(ZA[284],ZA[279],ZA[276])+ZA[271]+0x9bdc06a7U)+ZR26(ZA[284]); |
|
|
|
|
ZA[237]=ZR25(ZA[225])+ZA[224]; |
|
|
|
|
ZA[287]=ZA[272]+ZA[286]; |
|
|
|
|
ZA[285]=ZA[283]+ZMa(ZA[277],ZA[272],ZA[280])+ZR30(ZA[280]); |
|
|
|
|
ZA[289]=(ZCh(ZA[287],ZA[284],ZA[279])+ZA[276]+0xc19bf274U)+ZR26(ZA[287]); |
|
|
|
|
ZA[232]=ZR25(ZA[226])+ZA[225]+0x00a00000U; |
|
|
|
|
ZA[290]=ZA[277]+ZA[289]; |
|
|
|
|
ZA[288]=ZA[286]+ZMa(ZA[280],ZA[277],ZA[285])+ZR30(ZA[285]); |
|
|
|
|
ZA[292]=(ZCh(ZA[290],ZA[287],ZA[284])+ZA[279]+ZA[237]+0xe49b69c1U)+ZR26(ZA[290]); |
|
|
|
|
ZA[293]=ZA[280]+ZA[292]; |
|
|
|
|
ZA[291]=ZA[289]+ZMa(ZA[285],ZA[280],ZA[288])+ZR30(ZA[288]); |
|
|
|
|
ZA[295]=(ZCh(ZA[293],ZA[290],ZA[287])+ZA[284]+ZA[232]+0xefbe4786U)+ZR26(ZA[293]); |
|
|
|
|
ZA[240]=ZR15(ZA[237])+ZR25(ZA[227])+ZA[226]; |
|
|
|
|
ZA[233]=ZR15(ZA[232])+ZA[227]+ZR25(ZA[228]); |
|
|
|
|
ZA[296]=ZA[285]+ZA[295]; |
|
|
|
|
ZA[294]=ZA[292]+ZMa(ZA[288],ZA[285],ZA[291])+ZR30(ZA[291]); |
|
|
|
|
ZA[298]=(ZCh(ZA[296],ZA[293],ZA[290])+ZA[287]+0x0fc19dc6U+ZA[240])+ZR26(ZA[296]); |
|
|
|
|
ZA[252]=ZR15(ZA[240])+ZR25(ZA[229])+ZA[228]; |
|
|
|
|
ZA[299]=ZA[288]+ZA[298]; |
|
|
|
|
ZA[297]=ZA[295]+ZMa(ZA[291],ZA[288],ZA[294])+ZR30(ZA[294]); |
|
|
|
|
ZA[301]=(ZCh(ZA[299],ZA[296],ZA[293])+ZA[290]+ZA[233]+0x240ca1ccU)+ZR26(ZA[299]); |
|
|
|
|
ZA[234]=ZR15(ZA[233])+ZR25(ZA[230])+ZA[229]; |
|
|
|
|
ZA[302]=ZA[291]+ZA[301]; |
|
|
|
|
ZA[300]=ZA[298]+ZMa(ZA[294],ZA[291],ZA[297])+ZR30(ZA[297]); |
|
|
|
|
ZA[310]=(ZCh(ZA[302],ZA[299],ZA[296])+ZA[293]+ZA[252]+0x2de92c6fU)+ZR26(ZA[302]); |
|
|
|
|
ZA[259]=ZR15(ZA[252])+ZA[230]+0x00000100U+ZR25(ZA[231]); |
|
|
|
|
ZA[335]=ZA[294]+ZA[310]; |
|
|
|
|
ZA[303]=ZA[301]+ZMa(ZA[297],ZA[294],ZA[300])+ZR30(ZA[300]); |
|
|
|
|
ZA[337]=(ZCh(ZA[335],ZA[302],ZA[299])+ZA[296]+ZA[234]+0x4a7484aaU)+ZR26(ZA[335]); |
|
|
|
|
ZA[241]=ZA[237]+ZR15(ZA[234])+ZA[231]+0x11002000U; |
|
|
|
|
ZA[338]=ZA[297]+ZA[337]; |
|
|
|
|
ZA[336]=ZMa(ZA[300],ZA[297],ZA[303])+ZR30(ZA[303])+ZA[310]; |
|
|
|
|
ZA[340]=(ZCh(ZA[338],ZA[335],ZA[302])+ZA[299]+ZA[259]+0x5cb0a9dcU)+ZR26(ZA[338]); |
|
|
|
|
ZA[266]=ZR15(ZA[259])+ZA[232]+0x80000000U; |
|
|
|
|
ZA[341]=ZA[300]+ZA[340]; |
|
|
|
|
ZA[339]=ZMa(ZA[303],ZA[300],ZA[336])+ZR30(ZA[336])+ZA[337]; |
|
|
|
|
ZA[343]=(ZCh(ZA[341],ZA[338],ZA[335])+ZA[302]+ZA[241]+0x76f988daU)+ZR26(ZA[341]); |
|
|
|
|
ZA[273]=ZR15(ZA[241])+ZA[240]; |
|
|
|
|
ZA[344]=ZA[303]+ZA[343]; |
|
|
|
|
ZA[342]=ZMa(ZA[336],ZA[303],ZA[339])+ZR30(ZA[339])+ZA[340]; |
|
|
|
|
ZA[346]=(ZCh(ZA[344],ZA[341],ZA[338])+ZA[335]+ZA[266]+0x983e5152U)+ZR26(ZA[344]); |
|
|
|
|
ZA[274]=ZR15(ZA[266])+ZA[233]; |
|
|
|
|
ZA[347]=ZA[336]+ZA[346]; |
|
|
|
|
ZA[345]=ZA[343]+ZMa(ZA[339],ZA[336],ZA[342])+ZR30(ZA[342]); |
|
|
|
|
ZA[349]=(ZCh(ZA[347],ZA[344],ZA[341])+ZA[338]+ZA[273]+0xa831c66dU)+ZR26(ZA[347]); |
|
|
|
|
ZA[281]=ZR15(ZA[273])+ZA[252]; |
|
|
|
|
ZA[350]=ZA[339]+ZA[349]; |
|
|
|
|
ZA[348]=ZA[346]+ZMa(ZA[342],ZA[339],ZA[345])+ZR30(ZA[345]); |
|
|
|
|
ZA[352]=(ZCh(ZA[350],ZA[347],ZA[344])+ZA[341]+ZA[274]+0xb00327c8U)+ZR26(ZA[350]); |
|
|
|
|
ZA[282]=ZR15(ZA[274])+ZA[234]; |
|
|
|
|
ZA[353]=ZA[342]+ZA[352]; |
|
|
|
|
ZA[351]=ZA[349]+ZMa(ZA[345],ZA[342],ZA[348])+ZR30(ZA[348]); |
|
|
|
|
ZA[355]=(ZCh(ZA[353],ZA[350],ZA[347])+ZA[344]+ZA[281]+0xbf597fc7U)+ZR26(ZA[353]); |
|
|
|
|
ZA[304]=ZR15(ZA[281])+ZA[259]; |
|
|
|
|
ZA[356]=ZA[345]+ZA[355]; |
|
|
|
|
ZA[354]=ZA[352]+ZMa(ZA[348],ZA[345],ZA[351])+ZR30(ZA[351]); |
|
|
|
|
ZA[358]=(ZCh(ZA[356],ZA[353],ZA[350])+ZA[347]+ZA[282]+0xc6e00bf3U)+ZR26(ZA[356]); |
|
|
|
|
ZA[305]=ZR15(ZA[282])+ZA[241]+0x00400022U; |
|
|
|
|
ZA[359]=ZA[348]+ZA[358]; |
|
|
|
|
ZA[357]=ZA[355]+ZMa(ZA[351],ZA[348],ZA[354])+ZR30(ZA[354]); |
|
|
|
|
ZA[361]=(ZCh(ZA[359],ZA[356],ZA[353])+ZA[350]+ZA[304]+0xd5a79147U)+ZR26(ZA[359]); |
|
|
|
|
ZA[306]=ZR15(ZA[304])+ZA[266]+ZR25(ZA[237])+0x00000100U; |
|
|
|
|
ZA[362]=ZA[351]+ZA[361]; |
|
|
|
|
ZA[360]=ZA[358]+ZMa(ZA[354],ZA[351],ZA[357])+ZR30(ZA[357]); |
|
|
|
|
ZA[364]=(ZCh(ZA[362],ZA[359],ZA[356])+ZA[353]+ZA[305]+0x06ca6351U)+ZR26(ZA[362]); |
|
|
|
|
ZA[307]=ZR15(ZA[305])+ZR25(ZA[232])+ZA[237]+ZA[273]; |
|
|
|
|
ZA[365]=ZA[354]+ZA[364]; |
|
|
|
|
ZA[363]=ZA[361]+ZMa(ZA[357],ZA[354],ZA[360])+ZR30(ZA[360]); |
|
|
|
|
ZA[367]=(ZCh(ZA[365],ZA[362],ZA[359])+ZA[356]+ZA[306]+0x14292967U)+ZR26(ZA[365]); |
|
|
|
|
ZA[308]=ZR15(ZA[306])+ZR25(ZA[240])+ZA[274]+ZA[232]; |
|
|
|
|
ZA[368]=ZA[357]+ZA[367]; |
|
|
|
|
ZA[366]=ZA[364]+ZMa(ZA[360],ZA[357],ZA[363])+ZR30(ZA[363]); |
|
|
|
|
ZA[370]=(ZCh(ZA[368],ZA[365],ZA[362])+ZA[359]+ZA[307]+0x27b70a85U)+ZR26(ZA[368]); |
|
|
|
|
ZA[309]=ZR15(ZA[307])+ZA[281]+ZR25(ZA[233])+ZA[240]; |
|
|
|
|
ZA[371]=ZA[360]+ZA[370]; |
|
|
|
|
ZA[369]=ZA[367]+ZMa(ZA[363],ZA[360],ZA[366])+ZR30(ZA[366]); |
|
|
|
|
ZA[373]=(ZCh(ZA[371],ZA[368],ZA[365])+ZA[362]+ZA[308]+0x2e1b2138U)+ZR26(ZA[371]); |
|
|
|
|
ZA[311]=ZR15(ZA[308])+ZA[282]+ZR25(ZA[252])+ZA[233]; |
|
|
|
|
ZA[374]=ZA[363]+ZA[373]; |
|
|
|
|
ZA[372]=ZA[370]+ZMa(ZA[366],ZA[363],ZA[369])+ZR30(ZA[369]); |
|
|
|
|
ZA[376]=(ZCh(ZA[374],ZA[371],ZA[368])+ZA[365]+ZA[309]+0x4d2c6dfcU)+ZR26(ZA[374]); |
|
|
|
|
ZA[312]=ZR15(ZA[309])+ZR25(ZA[234])+ZA[252]+ZA[304]; |
|
|
|
|
ZA[377]=ZA[366]+ZA[376]; |
|
|
|
|
ZA[375]=ZA[373]+ZMa(ZA[369],ZA[366],ZA[372])+ZR30(ZA[372]); |
|
|
|
|
ZA[379]=(ZCh(ZA[377],ZA[374],ZA[371])+ZA[368]+ZA[311]+0x53380d13U)+ZR26(ZA[377]); |
|
|
|
|
ZA[313]=ZR15(ZA[311])+ZA[305]+ZR25(ZA[259])+ZA[234]; |
|
|
|
|
ZA[380]=ZA[369]+ZA[379]; |
|
|
|
|
ZA[378]=ZA[376]+ZMa(ZA[372],ZA[369],ZA[375])+ZR30(ZA[375]); |
|
|
|
|
ZA[382]=(ZCh(ZA[380],ZA[377],ZA[374])+ZA[371]+ZA[312]+0x650a7354U)+ZR26(ZA[380]); |
|
|
|
|
ZA[314]=ZR15(ZA[312])+ZA[306]+ZR25(ZA[241])+ZA[259]; |
|
|
|
|
ZA[383]=ZA[372]+ZA[382]; |
|
|
|
|
ZA[381]=ZA[379]+ZMa(ZA[375],ZA[372],ZA[378])+ZR30(ZA[378]); |
|
|
|
|
ZA[385]=(ZCh(ZA[383],ZA[380],ZA[377])+ZA[374]+ZA[313]+0x766a0abbU)+ZR26(ZA[383]); |
|
|
|
|
ZA[315]=ZR15(ZA[313])+ZA[307]+ZR25(ZA[266])+ZA[241]; |
|
|
|
|
ZA[386]=ZA[375]+ZA[385]; |
|
|
|
|
ZA[384]=ZA[382]+ZMa(ZA[378],ZA[375],ZA[381])+ZR30(ZA[381]); |
|
|
|
|
ZA[388]=(ZCh(ZA[386],ZA[383],ZA[380])+ZA[377]+ZA[314]+0x81c2c92eU)+ZR26(ZA[386]); |
|
|
|
|
ZA[316]=ZR15(ZA[314])+ZA[308]+ZR25(ZA[273])+ZA[266]; |
|
|
|
|
ZA[389]=ZA[378]+ZA[388]; |
|
|
|
|
ZA[387]=ZA[385]+ZMa(ZA[381],ZA[378],ZA[384])+ZR30(ZA[384]); |
|
|
|
|
ZA[391]=(ZCh(ZA[389],ZA[386],ZA[383])+ZA[380]+ZA[315]+0x92722c85U)+ZR26(ZA[389]); |
|
|
|
|
ZA[317]=ZR15(ZA[315])+ZA[309]+ZR25(ZA[274])+ZA[273]; |
|
|
|
|
ZA[392]=ZA[381]+ZA[391]; |
|
|
|
|
ZA[390]=ZA[388]+ZMa(ZA[384],ZA[381],ZA[387])+ZR30(ZA[387]); |
|
|
|
|
ZA[394]=(ZCh(ZA[392],ZA[389],ZA[386])+ZA[383]+ZA[316]+0xa2bfe8a1U)+ZR26(ZA[392]); |
|
|
|
|
ZA[318]=ZR15(ZA[316])+ZA[311]+ZR25(ZA[281])+ZA[274]; |
|
|
|
|
ZA[395]=ZA[384]+ZA[394]; |
|
|
|
|
ZA[393]=ZA[391]+ZMa(ZA[387],ZA[384],ZA[390])+ZR30(ZA[390]); |
|
|
|
|
ZA[397]=(ZCh(ZA[395],ZA[392],ZA[389])+ZA[386]+ZA[317]+0xa81a664bU)+ZR26(ZA[395]); |
|
|
|
|
ZA[319]=ZR15(ZA[317])+ZA[312]+ZR25(ZA[282])+ZA[281]; |
|
|
|
|
ZA[398]=ZA[387]+ZA[397]; |
|
|
|
|
ZA[396]=ZA[394]+ZMa(ZA[390],ZA[387],ZA[393])+ZR30(ZA[393]); |
|
|
|
|
ZA[400]=(ZCh(ZA[398],ZA[395],ZA[392])+ZA[389]+ZA[318]+0xc24b8b70U)+ZR26(ZA[398]); |
|
|
|
|
ZA[320]=ZR15(ZA[318])+ZA[313]+ZR25(ZA[304])+ZA[282]; |
|
|
|
|
ZA[401]=ZA[390]+ZA[400]; |
|
|
|
|
ZA[399]=ZA[397]+ZMa(ZA[393],ZA[390],ZA[396])+ZR30(ZA[396]); |
|
|
|
|
ZA[403]=(ZCh(ZA[401],ZA[398],ZA[395])+ZA[392]+ZA[319]+0xc76c51a3U)+ZR26(ZA[401]); |
|
|
|
|
ZA[321]=ZR15(ZA[319])+ZA[314]+ZR25(ZA[305])+ZA[304]; |
|
|
|
|
ZA[404]=ZA[393]+ZA[403]; |
|
|
|
|
ZA[402]=ZA[400]+ZMa(ZA[396],ZA[393],ZA[399])+ZR30(ZA[399]); |
|
|
|
|
ZA[406]=(ZCh(ZA[404],ZA[401],ZA[398])+ZA[395]+ZA[320]+0xd192e819U)+ZR26(ZA[404]); |
|
|
|
|
ZA[322]=ZR15(ZA[320])+ZA[315]+ZR25(ZA[306])+ZA[305]; |
|
|
|
|
ZA[407]=ZA[396]+ZA[406]; |
|
|
|
|
ZA[405]=ZA[403]+ZMa(ZA[399],ZA[396],ZA[402])+ZR30(ZA[402]); |
|
|
|
|
ZA[409]=(ZCh(ZA[407],ZA[404],ZA[401])+ZA[398]+ZA[321]+0xd6990624U)+ZR26(ZA[407]); |
|
|
|
|
ZA[323]=ZR15(ZA[321])+ZA[316]+ZR25(ZA[307])+ZA[306]; |
|
|
|
|
ZA[410]=ZA[399]+ZA[409]; |
|
|
|
|
ZA[408]=ZA[406]+ZMa(ZA[402],ZA[399],ZA[405])+ZR30(ZA[405]); |
|
|
|
|
ZA[412]=(ZCh(ZA[410],ZA[407],ZA[404])+ZA[401]+ZA[322]+0xf40e3585U)+ZR26(ZA[410]); |
|
|
|
|
ZA[324]=ZR15(ZA[322])+ZA[317]+ZR25(ZA[308])+ZA[307]; |
|
|
|
|
ZA[413]=ZA[402]+ZA[412]; |
|
|
|
|
ZA[411]=ZA[409]+ZMa(ZA[405],ZA[402],ZA[408])+ZR30(ZA[408]); |
|
|
|
|
ZA[415]=(ZCh(ZA[413],ZA[410],ZA[407])+ZA[404]+ZA[323]+0x106aa070U)+ZR26(ZA[413]); |
|
|
|
|
ZA[325]=ZR15(ZA[323])+ZA[318]+ZR25(ZA[309])+ZA[308]; |
|
|
|
|
ZA[416]=ZA[405]+ZA[415]; |
|
|
|
|
ZA[414]=ZA[412]+ZMa(ZA[408],ZA[405],ZA[411])+ZR30(ZA[411]); |
|
|
|
|
ZA[418]=(ZCh(ZA[416],ZA[413],ZA[410])+ZA[407]+ZA[324]+0x19a4c116U)+ZR26(ZA[416]); |
|
|
|
|
ZA[326]=ZR15(ZA[324])+ZA[319]+ZR25(ZA[311])+ZA[309]; |
|
|
|
|
ZA[419]=ZA[408]+ZA[418]; |
|
|
|
|
ZA[417]=ZA[415]+ZMa(ZA[411],ZA[408],ZA[414])+ZR30(ZA[414]); |
|
|
|
|
ZA[421]=(ZCh(ZA[419],ZA[416],ZA[413])+ZA[410]+ZA[325]+0x1e376c08U)+ZR26(ZA[419]); |
|
|
|
|
ZA[327]=ZR15(ZA[325])+ZA[320]+ZR25(ZA[312])+ZA[311]; |
|
|
|
|
ZA[422]=ZA[411]+ZA[421]; |
|
|
|
|
ZA[420]=ZA[418]+ZMa(ZA[414],ZA[411],ZA[417])+ZR30(ZA[417]); |
|
|
|
|
ZA[424]=(ZCh(ZA[422],ZA[419],ZA[416])+ZA[413]+ZA[326]+0x2748774cU)+ZR26(ZA[422]); |
|
|
|
|
ZA[328]=ZR15(ZA[326])+ZA[321]+ZR25(ZA[313])+ZA[312]; |
|
|
|
|
ZA[425]=ZA[414]+ZA[424]; |
|
|
|
|
ZA[423]=ZA[421]+ZMa(ZA[417],ZA[414],ZA[420])+ZR30(ZA[420]); |
|
|
|
|
ZA[427]=(ZCh(ZA[425],ZA[422],ZA[419])+ZA[416]+ZA[327]+0x34b0bcb5U)+ZR26(ZA[425]); |
|
|
|
|
ZA[329]=ZR15(ZA[327])+ZA[322]+ZR25(ZA[314])+ZA[313]; |
|
|
|
|
ZA[428]=ZA[417]+ZA[427]; |
|
|
|
|
ZA[426]=ZA[424]+ZMa(ZA[420],ZA[417],ZA[423])+ZR30(ZA[423]); |
|
|
|
|
ZA[430]=(ZCh(ZA[428],ZA[425],ZA[422])+ZA[419]+ZA[328]+0x391c0cb3U)+ZR26(ZA[428]); |
|
|
|
|
ZA[330]=ZR15(ZA[328])+ZA[323]+ZR25(ZA[315])+ZA[314]; |
|
|
|
|
ZA[431]=ZA[420]+ZA[430]; |
|
|
|
|
ZA[429]=ZA[427]+ZMa(ZA[423],ZA[420],ZA[426])+ZR30(ZA[426]); |
|
|
|
|
ZA[433]=(ZCh(ZA[431],ZA[428],ZA[425])+ZA[422]+ZA[329]+0x4ed8aa4aU)+ZR26(ZA[431]); |
|
|
|
|
ZA[331]=ZR15(ZA[329])+ZA[324]+ZR25(ZA[316])+ZA[315]; |
|
|
|
|
ZA[434]=ZA[423]+ZA[433]; |
|
|
|
|
ZA[432]=ZA[430]+ZMa(ZA[426],ZA[423],ZA[429])+ZR30(ZA[429]); |
|
|
|
|
ZA[436]=(ZCh(ZA[434],ZA[431],ZA[428])+ZA[425]+ZA[330]+0x5b9cca4fU)+ZR26(ZA[434]); |
|
|
|
|
ZA[332]=ZR15(ZA[330])+ZA[325]+ZR25(ZA[317])+ZA[316]; |
|
|
|
|
ZA[437]=ZA[426]+ZA[436]; |
|
|
|
|
ZA[435]=ZA[433]+ZMa(ZA[429],ZA[426],ZA[432])+ZR30(ZA[432]); |
|
|
|
|
ZA[439]=(ZCh(ZA[437],ZA[434],ZA[431])+ZA[428]+ZA[331]+0x682e6ff3U)+ZR26(ZA[437]); |
|
|
|
|
ZA[333]=ZR15(ZA[331])+ZA[326]+ZR25(ZA[318])+ZA[317]; |
|
|
|
|
ZA[440]=ZA[429]+ZA[439]; |
|
|
|
|
ZA[438]=ZA[436]+ZMa(ZA[432],ZA[429],ZA[435])+ZR30(ZA[435]); |
|
|
|
|
ZA[442]=(ZCh(ZA[440],ZA[437],ZA[434])+ZA[431]+ZA[332]+0x748f82eeU)+ZR26(ZA[440]); |
|
|
|
|
ZA[334]=ZR15(ZA[332])+ZA[327]+ZR25(ZA[319])+ZA[318]; |
|
|
|
|
ZA[443]=ZA[432]+ZA[442]; |
|
|
|
|
ZA[441]=ZA[439]+ZMa(ZA[435],ZA[432],ZA[438])+ZR30(ZA[438]); |
|
|
|
|
ZA[444]=(ZCh(ZA[443],ZA[440],ZA[437])+ZA[434]+ZA[435]+ZA[333]+0x78a5636fU)+ZR26(ZA[443]); |
|
|
|
|
ZA[445]=(ZCh(ZA[444],ZA[443],ZA[440])+ZA[438]+ZA[437]+ZA[334]+0x84c87814U)+ZR26(ZA[444]); |
|
|
|
|
ZA[446]=(ZCh(ZA[445],ZA[444],ZA[443])+ZA[441]+ZA[440]+ZR15(ZA[333])+ZA[328]+ZR25(ZA[320])+ZA[319]+0x8cc70208U)+ZR26(ZA[445]); |
|
|
|
|
ZA[447]=(ZCh(ZA[446],ZA[445],ZA[444])+ZA[442]+ZMa(ZA[438],ZA[435],ZA[441])+ZR30(ZA[441])+ZA[443]+ZR15(ZA[334])+ZA[329]+ZR25(ZA[321])+ZA[320])+ZR26(ZA[446]); |
|
|
|
|
ZA[12]=ZA[7]+ZMa(ZA[11],ZA[10],ZA[6])+ZR30(ZA[6]); |
|
|
|
|
ZA[7]=ZA[2]+ZA[7]; |
|
|
|
|
ZA[8]=(ZCh(ZA[7],ZA[5],ZA[4])+ZA[8]+ZA[3]+0x240ca1ccU)+ZR26(ZA[7]); |
|
|
|
|
ZA[2]=ZR15(ZA[3]); |
|
|
|
|
ZA[13]=ZA[8]+ZMa(ZA[6],ZA[11],ZA[12])+ZR30(ZA[12]); |
|
|
|
|
ZA[10]=ZA[10]+ZA[8]; |
|
|
|
|
ZA[4]=(ZCh(ZA[10],ZA[7],ZA[5])+ZA[4]+ZA[1]+0x2de92c6fU)+ZR26(ZA[10]); |
|
|
|
|
ZA[8]=ZR15(ZA[1])+0x00000280U; |
|
|
|
|
ZA[14]=ZA[4]+ZMa(ZA[12],ZA[6],ZA[13])+ZR30(ZA[13]); |
|
|
|
|
ZA[4]=ZA[11]+ZA[4]; |
|
|
|
|
ZA[5]=(ZCh(ZA[4],ZA[10],ZA[7])+ZA[5]+ZA[2]+0x4a7484aaU)+ZR26(ZA[4]); |
|
|
|
|
ZA[11]=ZR15(ZA[2])+W16; |
|
|
|
|
ZA[15]=ZA[5]+ZMa(ZA[13],ZA[12],ZA[14])+ZR30(ZA[14]); |
|
|
|
|
ZA[5]=ZA[6]+ZA[5]; |
|
|
|
|
ZA[6]=(ZCh(ZA[5],ZA[4],ZA[10])+ZA[7]+ZA[8]+0x5cb0a9dcU)+ZR26(ZA[5]); |
|
|
|
|
ZA[7]=ZR15(ZA[8])+W17; |
|
|
|
|
ZA[16]=ZA[6]+ZMa(ZA[14],ZA[13],ZA[15])+ZR30(ZA[15]); |
|
|
|
|
ZA[6]=ZA[12]+ZA[6]; |
|
|
|
|
ZA[10]=(ZCh(ZA[6],ZA[5],ZA[4])+ZA[10]+ZA[11]+0x76f988daU)+ZR26(ZA[6]); |
|
|
|
|
ZA[12]=ZR15(ZA[11])+ZA[0]; |
|
|
|
|
ZA[17]=ZA[10]+ZMa(ZA[15],ZA[14],ZA[16])+ZR30(ZA[16]); |
|
|
|
|
ZA[10]=ZA[13]+ZA[10]; |
|
|
|
|
ZA[13]=(ZCh(ZA[10],ZA[6],ZA[5])+ZA[4]+ZA[7]+0x983e5152U)+ZR26(ZA[10]); |
|
|
|
|
ZA[4]=ZR15(ZA[7])+ZA[3]; |
|
|
|
|
ZA[14]=ZA[14]+ZA[13]; |
|
|
|
|
ZA[13]=ZA[13]+ZMa(ZA[16],ZA[15],ZA[17])+ZR30(ZA[17]); |
|
|
|
|
ZA[5]=(ZCh(ZA[14],ZA[10],ZA[6])+ZA[5]+ZA[12]+0xa831c66dU)+ZR26(ZA[14]); |
|
|
|
|
ZA[9]=ZR15(ZA[12])+ZA[1]; |
|
|
|
|
ZA[18]=ZA[5]+ZMa(ZA[17],ZA[16],ZA[13])+ZR30(ZA[13]); |
|
|
|
|
ZA[5]=ZA[15]+ZA[5]; |
|
|
|
|
ZA[15]=(ZCh(ZA[5],ZA[14],ZA[10])+ZA[6]+ZA[4]+0xb00327c8U)+ZR26(ZA[5]); |
|
|
|
|
ZA[6]=ZR15(ZA[4])+ZA[2]; |
|
|
|
|
ZA[19]=ZA[15]+ZMa(ZA[13],ZA[17],ZA[18])+ZR30(ZA[18]); |
|
|
|
|
ZA[15]=ZA[16]+ZA[15]; |
|
|
|
|
ZA[16]=(ZCh(ZA[15],ZA[5],ZA[14])+ZA[10]+ZA[9]+0xbf597fc7U)+ZR26(ZA[15]); |
|
|
|
|
ZA[10]=ZR15(ZA[9])+ZA[8]; |
|
|
|
|
ZA[20]=ZA[16]+ZMa(ZA[18],ZA[13],ZA[19])+ZR30(ZA[19]); |
|
|
|
|
ZA[16]=ZA[17]+ZA[16]; |
|
|
|
|
ZA[14]=(ZCh(ZA[16],ZA[15],ZA[5])+ZA[14]+ZA[6]+0xc6e00bf3U)+ZR26(ZA[16]); |
|
|
|
|
ZA[17]=ZR15(ZA[6])+ZA[11]+0x00A00055U; |
|
|
|
|
ZA[21]=ZA[14]+ZMa(ZA[19],ZA[18],ZA[20])+ZR30(ZA[20]); |
|
|
|
|
ZA[14]=ZA[13]+ZA[14]; |
|
|
|
|
ZA[13]=(ZCh(ZA[14],ZA[16],ZA[15])+ZA[5]+ZA[10]+0xd5a79147U)+ZR26(ZA[14]); |
|
|
|
|
ZA[5]=ZR15(ZA[10])+ZA[7]+W31; |
|
|
|
|
ZA[22]=ZA[13]+ZMa(ZA[20],ZA[19],ZA[21])+ZR30(ZA[21]); |
|
|
|
|
ZA[13]=ZA[18]+ZA[13]; |
|
|
|
|
ZA[18]=(ZCh(ZA[13],ZA[14],ZA[16])+ZA[15]+ZA[17]+0x06ca6351U)+ZR26(ZA[13]); |
|
|
|
|
ZA[15]=ZR15(ZA[17])+ZA[12]+W32; |
|
|
|
|
ZA[23]=ZA[18]+ZMa(ZA[21],ZA[20],ZA[22])+ZR30(ZA[22]); |
|
|
|
|
ZA[18]=ZA[19]+ZA[18]; |
|
|
|
|
ZA[19]=(ZCh(ZA[18],ZA[13],ZA[14])+ZA[16]+ZA[5]+0x14292967U)+ZR26(ZA[18]); |
|
|
|
|
ZA[16]=ZR15(ZA[5])+ZA[4]+ZR25(ZA[0])+W17; |
|
|
|
|
ZA[20]=ZA[20]+ZA[19]; |
|
|
|
|
ZA[19]=ZA[19]+ZMa(ZA[22],ZA[21],ZA[23])+ZR30(ZA[23]); |
|
|
|
|
ZA[14]=(ZCh(ZA[20],ZA[18],ZA[13])+ZA[14]+ZA[15]+0x27b70a85U)+ZR26(ZA[20]); |
|
|
|
|
ZA[0]=ZR15(ZA[15])+ZR25(ZA[3])+ZA[0]+ZA[9]; |
|
|
|
|
ZA[24]=ZA[14]+ZMa(ZA[23],ZA[22],ZA[19])+ZR30(ZA[19]); |
|
|
|
|
ZA[14]=ZA[21]+ZA[14]; |
|
|
|
|
ZA[21]=(ZCh(ZA[14],ZA[20],ZA[18])+ZA[13]+ZA[16]+0x2e1b2138U)+ZR26(ZA[14]); |
|
|
|
|
ZA[3]=ZR15(ZA[16])+ZA[3]+ZR25(ZA[1])+ZA[6]; |
|
|
|
|
ZA[22]=ZA[22]+ZA[21]; |
|
|
|
|
ZA[21]=ZA[21]+ZMa(ZA[19],ZA[23],ZA[24])+ZR30(ZA[24]); |
|
|
|
|
ZA[13]=(ZCh(ZA[22],ZA[14],ZA[20])+ZA[18]+ZA[0]+0x4d2c6dfcU)+ZR26(ZA[22]); |
|
|
|
|
ZA[1]=ZR15(ZA[0])+ZR25(ZA[2])+ZA[1]+ZA[10]; |
|
|
|
|
ZA[18]=ZA[13]+ZMa(ZA[24],ZA[19],ZA[21])+ZR30(ZA[21]); |
|
|
|
|
ZA[13]=ZA[23]+ZA[13]; |
|
|
|
|
ZA[20]=(ZCh(ZA[13],ZA[22],ZA[14])+ZA[20]+ZA[3]+0x53380d13U)+ZR26(ZA[13]); |
|
|
|
|
ZA[2]=ZR15(ZA[3])+ZA[2]+ZR25(ZA[8])+ZA[17]; |
|
|
|
|
ZA[23]=ZA[19]+ZA[20]; |
|
|
|
|
ZA[20]=ZA[20]+ZMa(ZA[21],ZA[24],ZA[18])+ZR30(ZA[18]); |
|
|
|
|
ZA[19]=(ZCh(ZA[23],ZA[13],ZA[22])+ZA[14]+ZA[1]+0x650a7354U)+ZR26(ZA[23]); |
|
|
|
|
ZA[8]=ZR15(ZA[1])+ZR25(ZA[11])+ZA[8]+ZA[5]; |
|
|
|
|
ZA[14]=ZA[19]+ZMa(ZA[18],ZA[21],ZA[20])+ZR30(ZA[20]); |
|
|
|
|
ZA[19]=ZA[24]+ZA[19]; |
|
|
|
|
ZA[22]=(ZCh(ZA[19],ZA[23],ZA[13])+ZA[22]+ZA[2]+0x766a0abbU)+ZR26(ZA[19]); |
|
|
|
|
ZA[11]=ZR15(ZA[2])+ZA[11]+ZR25(ZA[7])+ZA[15]; |
|
|
|
|
ZA[24]=ZA[21]+ZA[22]; |
|
|
|
|
ZA[22]=ZA[22]+ZMa(ZA[20],ZA[18],ZA[14])+ZR30(ZA[14]); |
|
|
|
|
ZA[21]=(ZCh(ZA[24],ZA[19],ZA[23])+ZA[13]+ZA[8]+0x81c2c92eU)+ZR26(ZA[24]); |
|
|
|
|
ZA[7]=ZR15(ZA[8])+ZR25(ZA[12])+ZA[7]+ZA[16]; |
|
|
|
|
ZA[18]=ZA[18]+ZA[21]; |
|
|
|
|
ZA[21]=ZA[21]+ZMa(ZA[14],ZA[20],ZA[22])+ZR30(ZA[22]); |
|
|
|
|
ZA[23]=(ZCh(ZA[18],ZA[24],ZA[19])+ZA[23]+ZA[11]+0x92722c85U)+ZR26(ZA[18]); |
|
|
|
|
ZA[12]=ZR15(ZA[11])+ZR25(ZA[4])+ZA[12]+ZA[0]; |
|
|
|
|
ZA[20]=ZA[20]+ZA[23]; |
|
|
|
|
ZA[13]=ZA[23]+ZMa(ZA[22],ZA[14],ZA[21])+ZR30(ZA[21]); |
|
|
|
|
ZA[23]=(ZCh(ZA[20],ZA[18],ZA[24])+ZA[19]+ZA[7]+0xa2bfe8a1U)+ZR26(ZA[20]); |
|
|
|
|
ZA[4]=ZR15(ZA[7])+ZR25(ZA[9])+ZA[4]+ZA[3]; |
|
|
|
|
ZA[14]=ZA[14]+ZA[23]; |
|
|
|
|
ZA[23]=ZA[23]+ZMa(ZA[21],ZA[22],ZA[13])+ZR30(ZA[13]); |
|
|
|
|
ZA[24]=(ZCh(ZA[14],ZA[20],ZA[18])+ZA[24]+ZA[12]+0xa81a664bU)+ZR26(ZA[14]); |
|
|
|
|
ZA[9]=ZR15(ZA[12])+ZA[1]+ZR25(ZA[6])+ZA[9]; |
|
|
|
|
ZA[19]=ZA[24]+ZMa(ZA[13],ZA[21],ZA[23])+ZR30(ZA[23]); |
|
|
|
|
ZA[22]=ZA[22]+ZA[24]; |
|
|
|
|
ZA[18]=(ZCh(ZA[22],ZA[14],ZA[20])+ZA[18]+ZA[4]+0xc24b8b70U)+ZR26(ZA[22]); |
|
|
|
|
ZA[6]=ZR15(ZA[4])+ZA[2]+ZR25(ZA[10])+ZA[6]; |
|
|
|
|
ZA[24]=ZA[21]+ZA[18]; |
|
|
|
|
ZA[18]=ZA[18]+ZMa(ZA[23],ZA[13],ZA[19])+ZR30(ZA[19]); |
|
|
|
|
ZA[20]=(ZCh(ZA[24],ZA[22],ZA[14])+ZA[20]+ZA[9]+0xc76c51a3U)+ZR26(ZA[24]); |
|
|
|
|
ZA[10]=ZR15(ZA[9])+ZR25(ZA[17])+ZA[10]+ZA[8]; |
|
|
|
|
ZA[13]=ZA[13]+ZA[20]; |
|
|
|
|
ZA[20]=ZA[20]+ZMa(ZA[19],ZA[23],ZA[18])+ZR30(ZA[18]); |
|
|
|
|
ZA[14]=(ZCh(ZA[13],ZA[24],ZA[22])+ZA[14]+ZA[6]+0xd192e819U)+ZR26(ZA[13]); |
|
|
|
|
ZA[17]=ZR15(ZA[6])+ZR25(ZA[5])+ZA[17]+ZA[11]; |
|
|
|
|
ZA[21]=ZA[23]+ZA[14]; |
|
|
|
|
ZA[14]=ZA[14]+ZMa(ZA[18],ZA[19],ZA[20])+ZR30(ZA[20]); |
|
|
|
|
ZA[22]=(ZCh(ZA[21],ZA[13],ZA[24])+ZA[22]+ZA[10]+0xd6990624U)+ZR26(ZA[21]); |
|
|
|
|
ZA[5]=ZR15(ZA[10])+ZA[7]+ZR25(ZA[15])+ZA[5]; |
|
|
|
|
ZA[19]=ZA[19]+ZA[22]; |
|
|
|
|
ZA[22]=ZA[22]+ZMa(ZA[20],ZA[18],ZA[14])+ZR30(ZA[14]); |
|
|
|
|
ZA[24]=(ZCh(ZA[19],ZA[21],ZA[13])+ZA[24]+ZA[17]+0xf40e3585U)+ZR26(ZA[19]); |
|
|
|
|
ZA[15]=ZR15(ZA[17])+ZA[12]+ZR25(ZA[16])+ZA[15]; |
|
|
|
|
ZA[18]=ZA[18]+ZA[24]; |
|
|
|
|
ZA[23]=ZA[24]+ZMa(ZA[14],ZA[20],ZA[22])+ZR30(ZA[22]); |
|
|
|
|
ZA[13]=(ZCh(ZA[18],ZA[19],ZA[21])+ZA[13]+ZA[5]+0x106aa070U)+ZR26(ZA[18]); |
|
|
|
|
ZA[16]=ZR15(ZA[5])+ZA[4]+ZR25(ZA[0])+ZA[16]; |
|
|
|
|
ZA[20]=ZA[20]+ZA[13]; |
|
|
|
|
ZA[13]=ZA[13]+ZMa(ZA[22],ZA[14],ZA[23])+ZR30(ZA[23]); |
|
|
|
|
ZA[21]=(ZCh(ZA[20],ZA[18],ZA[19])+ZA[21]+ZA[15]+0x19a4c116U)+ZR26(ZA[20]); |
|
|
|
|
ZA[0]=ZR15(ZA[15])+ZA[9]+ZR25(ZA[3])+ZA[0]; |
|
|
|
|
ZA[14]=ZA[14]+ZA[21]; |
|
|
|
|
ZA[24]=ZA[21]+ZMa(ZA[23],ZA[22],ZA[13])+ZR30(ZA[13]); |
|
|
|
|
ZA[19]=(ZCh(ZA[14],ZA[20],ZA[18])+ZA[19]+ZA[16]+0x1e376c08U)+ZR26(ZA[14]); |
|
|
|
|
ZA[3]=ZR15(ZA[16])+ZA[6]+ZR25(ZA[1])+ZA[3]; |
|
|
|
|
ZA[22]=ZA[22]+ZA[19]; |
|
|
|
|
ZA[19]=ZA[19]+ZMa(ZA[13],ZA[23],ZA[24])+ZR30(ZA[24]); |
|
|
|
|
ZA[18]=(ZCh(ZA[22],ZA[14],ZA[20])+ZA[18]+ZA[0]+0x2748774cU)+ZR26(ZA[22]); |
|
|
|
|
ZA[1]=ZR15(ZA[0])+ZA[10]+ZR25(ZA[2])+ZA[1]; |
|
|
|
|
ZA[23]=ZA[23]+ZA[18]; |
|
|
|
|
ZA[21]=ZA[18]+ZMa(ZA[24],ZA[13],ZA[19])+ZR30(ZA[19]); |
|
|
|
|
ZA[20]=(ZCh(ZA[23],ZA[22],ZA[14])+ZA[20]+ZA[3]+0x34b0bcb5U)+ZR26(ZA[23]); |
|
|
|
|
ZA[2]=ZR15(ZA[3])+ZA[17]+ZR25(ZA[8])+ZA[2]; |
|
|
|
|
ZA[13]=ZA[13]+ZA[20]; |
|
|
|
|
ZA[20]=ZA[20]+ZMa(ZA[19],ZA[24],ZA[21])+ZR30(ZA[21]); |
|
|
|
|
ZA[14]=(ZCh(ZA[13],ZA[23],ZA[22])+ZA[14]+ZA[1]+0x391c0cb3U)+ZR26(ZA[13]); |
|
|
|
|
ZA[8]=ZR15(ZA[1])+ZA[5]+ZR25(ZA[11])+ZA[8]; |
|
|
|
|
ZA[24]=ZA[24]+ZA[14]; |
|
|
|
|
ZA[18]=ZA[14]+ZMa(ZA[21],ZA[19],ZA[20])+ZR30(ZA[20]); |
|
|
|
|
ZA[22]=(ZCh(ZA[24],ZA[13],ZA[23])+ZA[22]+ZA[2]+0x4ed8aa4aU)+ZR26(ZA[24]); |
|
|
|
|
ZA[11]=ZR15(ZA[2])+ZA[15]+ZR25(ZA[7])+ZA[11]; |
|
|
|
|
ZA[19]=ZA[19]+ZA[22]; |
|
|
|
|
ZA[22]=ZA[22]+ZMa(ZA[20],ZA[21],ZA[18])+ZR30(ZA[18]); |
|
|
|
|
ZA[23]=(ZCh(ZA[19],ZA[24],ZA[13])+ZA[23]+ZA[8]+0x5b9cca4fU)+ZR26(ZA[19]); |
|
|
|
|
ZA[7]=ZR15(ZA[8])+ZA[16]+ZR25(ZA[12])+ZA[7]; |
|
|
|
|
ZA[21]=ZA[21]+ZA[23]; |
|
|
|
|
ZA[23]=ZA[23]+ZMa(ZA[18],ZA[20],ZA[22])+ZR30(ZA[22]); |
|
|
|
|
ZA[13]=(ZCh(ZA[21],ZA[19],ZA[24])+ZA[13]+ZA[11]+0x682e6ff3U)+ZR26(ZA[21]); |
|
|
|
|
ZA[0]=ZR15(ZA[11])+ZA[0]+ZR25(ZA[4])+ZA[12]; |
|
|
|
|
ZA[12]=ZA[20]+ZA[13]; |
|
|
|
|
ZA[16]=ZA[13]+ZMa(ZA[22],ZA[18],ZA[23])+ZR30(ZA[23]); |
|
|
|
|
ZA[20]=(ZCh(ZA[12],ZA[21],ZA[19])+ZA[24]+ZA[7]+0x748f82eeU)+ZR26(ZA[12]); |
|
|
|
|
ZA[3]=ZR15(ZA[7])+ZA[3]+ZR25(ZA[9])+ZA[4]; |
|
|
|
|
ZA[18]=ZA[18]+ZA[20]; |
|
|
|
|
ZA[20]=ZA[20]+ZMa(ZA[23],ZA[22],ZA[16])+ZR30(ZA[16]); |
|
|
|
|
ZA[19]=(ZCh(ZA[18],ZA[12],ZA[21])+ZA[19]+ZA[0]+0x78a5636fU)+ZR26(ZA[18]); |
|
|
|
|
ZA[1]=ZR15(ZA[0])+ZA[1]+ZR25(ZA[6])+ZA[9]; |
|
|
|
|
ZA[9]=ZA[22]+ZA[19]; |
|
|
|
|
ZA[4]=ZA[19]+ZMa(ZA[16],ZA[23],ZA[20])+ZR30(ZA[20]); |
|
|
|
|
ZA[0]=(ZCh(ZA[9],ZA[18],ZA[12])+ZA[21]+ZA[3]+0x84c87814U)+ZR26(ZA[9]); |
|
|
|
|
ZA[2]=ZR15(ZA[3])+ZA[2]+ZR25(ZA[10])+ZA[6]; |
|
|
|
|
ZA[6]=ZA[23]+ZA[0]; |
|
|
|
|
ZA[0]=ZA[0]+ZMa(ZA[20],ZA[16],ZA[4])+ZR30(ZA[4]); |
|
|
|
|
ZA[12]=(ZCh(ZA[6],ZA[9],ZA[18])+ZA[12]+ZA[1]+0x8cc70208U)+ZR26(ZA[6]); |
|
|
|
|
ZA[8]=ZR15(ZA[1])+ZA[8]+ZR25(ZA[17])+ZA[10]; |
|
|
|
|
ZA[16]=ZA[16]+ZA[12]; |
|
|
|
|
ZA[10]=ZA[12]+ZMa(ZA[4],ZA[20],ZA[0])+ZR30(ZA[0]); |
|
|
|
|
ZA[1]=(ZCh(ZA[16],ZA[6],ZA[9])+ZA[18]+ZA[2]+0x90befffaU)+ZR26(ZA[16]); |
|
|
|
|
ZA[3]=ZA[20]+ZA[1]; |
|
|
|
|
ZA[1]=ZA[1]+ZMa(ZA[0],ZA[4],ZA[10])+ZR30(ZA[10]); |
|
|
|
|
ZA[9]=(ZCh(ZA[3],ZA[16],ZA[6])+ZA[9]+ZA[8]+0xa4506cebU)+ZR26(ZA[3]); |
|
|
|
|
ZA[12]=ZA[9]+ZMa(ZA[10],ZA[0],ZA[1])+ZR30(ZA[1]); |
|
|
|
|
ZA[4]=ZA[4]+ZA[9]; |
|
|
|
|
ZA[6]=(ZCh(ZA[4],ZA[3],ZA[16])+ZA[6]+ZR15(ZA[2])+ZA[11]+ZR25(ZA[5])+ZA[17]+0xbef9a3f7U)+ZR26(ZA[4]); |
|
|
|
|
ZA[17]=ZA[0]+ZA[6]; |
|
|
|
|
ZA[9]=ZA[6]+ZMa(ZA[1],ZA[10],ZA[12])+ZR30(ZA[12]); |
|
|
|
|
ZA[7]=(ZCh(ZA[17],ZA[4],ZA[3])+ZA[16]+ZR15(ZA[8])+ZA[7]+ZR25(ZA[15])+ZA[5]+0xc67178f2U)+ZR26(ZA[17]); |
|
|
|
|
ZA[5]=ZA[9]+state1; |
|
|
|
|
ZA[9]=ZA[7]+ZMa(ZA[12],ZA[1],ZA[9])+ZR30(ZA[9])+state0; |
|
|
|
|
ZA[15]=ZA[9]+0x98c7e2a2U; |
|
|
|
|
ZA[0]=(ZCh(ZA[15],0x510e527fU,0x9b05688cU)+ZA[5]+0x90bb1e3cU)+ZR26(ZA[15]); |
|
|
|
|
ZA[12]=ZA[12]+state2; |
|
|
|
|
ZA[2]=ZA[9]+0xfc08884dU; |
|
|
|
|
ZA[8]=ZA[0]+0x3c6ef372U; |
|
|
|
|
ZA[11]=(ZCh(ZA[8],ZA[15],0x510e527fU)+ZA[12]+0x50c6645bU)+ZR26(ZA[8]); |
|
|
|
|
ZA[1]=ZA[1]+state3; |
|
|
|
|
ZA[0]=ZA[0]+ZMa(0x6a09e667U,0xbb67ae85U,ZA[2])+ZR30(ZA[2]); |
|
|
|
|
ZA[6]=ZA[11]+0xbb67ae85U; |
|
|
|
|
ZA[15]=(ZCh(ZA[6],ZA[8],ZA[15])+ZA[1]+0x3ac42e24U)+ZR26(ZA[6]); |
|
|
|
|
ZA[10]=ZA[10]+ZA[7]+state4; |
|
|
|
|
ZA[7]=ZA[15]+0x6a09e667U; |
|
|
|
|
ZA[11]=ZMa(ZA[2],0x6a09e667U,ZA[0])+ZR30(ZA[0])+ZA[11]; |
|
|
|
|
ZA[17]=ZA[17]+state5; |
|
|
|
|
ZA[16]=(ZCh(ZA[7],ZA[6],ZA[8])+ZA[10]+ZA[9]+0xd21ea4fdU)+ZR26(ZA[7]); |
|
|
|
|
ZA[24]=ZA[2]+ZA[16]; |
|
|
|
|
ZA[2]=ZA[15]+ZMa(ZA[0],ZA[2],ZA[11])+ZR30(ZA[11]); |
|
|
|
|
ZA[4]=ZA[4]+state6; |
|
|
|
|
ZA[8]=(ZCh(ZA[24],ZA[7],ZA[6])+ZA[8]+ZA[17]+0x59f111f1U)+ZR26(ZA[24]); |
|
|
|
|
ZA[15]=ZA[0]+ZA[8]; |
|
|
|
|
ZA[16]=ZA[16]+ZMa(ZA[11],ZA[0],ZA[2])+ZR30(ZA[2]); |
|
|
|
|
ZA[3]=ZA[3]+state7; |
|
|
|
|
ZA[6]=(ZCh(ZA[15],ZA[24],ZA[7])+ZA[6]+ZA[4]+0x923f82a4U)+ZR26(ZA[15]); |
|
|
|
|
ZA[0]=ZA[11]+ZA[6]; |
|
|
|
|
ZA[8]=ZA[8]+ZMa(ZA[2],ZA[11],ZA[16])+ZR30(ZA[16]); |
|
|
|
|
ZA[7]=(ZCh(ZA[0],ZA[15],ZA[24])+ZA[7]+ZA[3]+0xab1c5ed5U)+ZR26(ZA[0]); |
|
|
|
|
ZA[11]=ZA[2]+ZA[7]; |
|
|
|
|
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)+ZR26(ZA[11]); |
|
|
|
|
ZA[6]=ZA[16]+ZA[24]; |
|
|
|
|
ZA[7]=ZMa(ZA[8],ZA[16],ZA[2])+ZR30(ZA[2])+ZA[7]; |
|
|
|
|
ZA[15]=(ZCh(ZA[6],ZA[11],ZA[0])+ZA[15]+0x12835b01U)+ZR26(ZA[6]); |
|
|
|
|
ZA[16]=ZA[8]+ZA[15]; |
|
|
|
|
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)+ZR26(ZA[16]); |
|
|
|
|
ZA[14]=ZA[2]+ZA[0]; |
|
|
|
|
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)+ZR26(ZA[14]); |
|
|
|
|
ZA[15]=ZA[7]+ZA[11]; |
|
|
|
|
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)+ZR26(ZA[15]); |
|
|
|
|
ZA[0]=ZA[8]+ZA[6]; |
|
|
|
|
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)+ZR26(ZA[0]); |
|
|
|
|
ZA[11]=ZA[2]+ZA[16]; |
|
|
|
|
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)+ZR26(ZA[11]); |
|
|
|
|
ZA[9]=ZR25(ZA[5])+ZA[9]; |
|
|
|
|
ZA[6]=ZA[7]+ZA[14]; |
|
|
|
|
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)+ZR26(ZA[6]); |
|
|
|
|
ZA[5]=ZR25(ZA[12])+ZA[5]+0x00a00000U; |
|
|
|
|
ZA[16]=ZA[8]+ZA[15]; |
|
|
|
|
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]+0xe49b69c1U)+ZR26(ZA[16]); |
|
|
|
|
ZA[21]=ZA[2]+ZA[0]; |
|
|
|
|
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]+0xefbe4786U)+ZR26(ZA[21]); |
|
|
|
|
ZA[12]=ZR15(ZA[9])+ZR25(ZA[1])+ZA[12]; |
|
|
|
|
ZA[1]=ZR15(ZA[5])+ZA[1]+ZR25(ZA[10]); |
|
|
|
|
ZA[15]=ZA[7]+ZA[11]; |
|
|
|
|
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[12])+ZR26(ZA[15]); |
|
|
|
|
ZA[0]=ZR15(ZA[12])+ZR25(ZA[17])+ZA[10]; |
|
|
|
|
ZA[10]=ZA[8]+ZA[6]; |
|
|
|
|
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]+0x240ca1ccU)+ZR26(ZA[10]); |
|
|
|
|
ZA[17]=ZR15(ZA[1])+ZR25(ZA[4])+ZA[17]; |
|
|
|
|
ZA[11]=ZA[2]+ZA[16]; |
|
|
|
|
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]+0x2de92c6fU)+ZR26(ZA[11]); |
|
|
|
|
ZA[4]=ZR15(ZA[0])+ZA[4]+0x00000100U+ZR25(ZA[3]); |
|
|
|
|
ZA[6]=ZA[7]+ZA[21]; |
|
|
|
|
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]+0x4a7484aaU)+ZR26(ZA[6]); |
|
|
|
|
ZA[3]=ZA[9]+ZR15(ZA[17])+ZA[3]+0x11002000U; |
|
|
|
|
ZA[16]=ZA[8]+ZA[15]; |
|
|
|
|
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]+0x5cb0a9dcU)+ZR26(ZA[16]); |
|
|
|
|
ZA[13]=ZR15(ZA[4])+ZA[5]+0x80000000U; |
|
|
|
|
ZA[22]=ZA[2]+ZA[10]; |
|
|
|
|
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]+0x76f988daU)+ZR26(ZA[22]); |
|
|
|
|
ZA[15]=ZR15(ZA[3])+ZA[12]; |
|
|
|
|
ZA[18]=ZA[7]+ZA[11]; |
|
|
|
|
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]+0x983e5152U)+ZR26(ZA[18]); |
|
|
|
|
ZA[10]=ZR15(ZA[13])+ZA[1]; |
|
|
|
|
ZA[23]=ZA[8]+ZA[6]; |
|
|
|
|
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]+0xa831c66dU)+ZR26(ZA[23]); |
|
|
|
|
ZA[11]=ZR15(ZA[15])+ZA[0]; |
|
|
|
|
ZA[24]=ZA[2]+ZA[16]; |
|
|
|
|
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]+0xb00327c8U)+ZR26(ZA[24]); |
|
|
|
|
ZA[6]=ZR15(ZA[10])+ZA[17]; |
|
|
|
|
ZA[19]=ZA[7]+ZA[22]; |
|
|
|
|
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]+0xbf597fc7U)+ZR26(ZA[19]); |
|
|
|
|
ZA[14]=ZR15(ZA[11])+ZA[4]; |
|
|
|
|
ZA[20]=ZA[8]+ZA[18]; |
|
|
|
|
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]+0xc6e00bf3U)+ZR26(ZA[20]); |
|
|
|
|
ZA[16]=ZR15(ZA[6])+ZA[3]+0x00400022U; |
|
|
|
|
ZA[21]=ZA[2]+ZA[23]; |
|
|
|
|
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]+0xd5a79147U)+ZR26(ZA[21]); |
|
|
|
|
ZA[22]=ZR15(ZA[14])+ZA[13]+ZR25(ZA[9])+0x00000100U; |
|
|
|
|
ZA[18]=ZA[7]+ZA[24]; |
|
|
|
|
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]+0x06ca6351U)+ZR26(ZA[18]); |
|
|
|
|
ZA[9]=ZR15(ZA[16])+ZR25(ZA[5])+ZA[9]+ZA[15]; |
|
|
|
|
ZA[23]=ZA[8]+ZA[19]; |
|
|
|
|
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]+0x14292967U)+ZR26(ZA[23]); |
|
|
|
|
ZA[5]=ZR15(ZA[22])+ZR25(ZA[12])+ZA[10]+ZA[5]; |
|
|
|
|
ZA[24]=ZA[2]+ZA[20]; |
|
|
|
|
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]+0x27b70a85U)+ZR26(ZA[24]); |
|
|
|
|
ZA[12]=ZR15(ZA[9])+ZA[11]+ZR25(ZA[1])+ZA[12]; |
|
|
|
|
ZA[19]=ZA[7]+ZA[21]; |
|
|
|
|
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]+0x2e1b2138U)+ZR26(ZA[19]); |
|
|
|
|
ZA[1]=ZR15(ZA[5])+ZA[6]+ZR25(ZA[0])+ZA[1]; |
|
|
|
|
ZA[20]=ZA[8]+ZA[18]; |
|
|
|
|
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]+0x4d2c6dfcU)+ZR26(ZA[20]); |
|
|
|
|
ZA[0]=ZR15(ZA[12])+ZR25(ZA[17])+ZA[0]+ZA[14]; |
|
|
|
|
ZA[21]=ZA[2]+ZA[23]; |
|
|
|
|
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]+0x53380d13U)+ZR26(ZA[21]); |
|
|
|
|
ZA[17]=ZR15(ZA[1])+ZA[16]+ZR25(ZA[4])+ZA[17]; |
|
|
|
|
ZA[18]=ZA[7]+ZA[24]; |
|
|
|
|
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]+0x650a7354U)+ZR26(ZA[18]); |
|
|
|
|
ZA[4]=ZR15(ZA[0])+ZA[22]+ZR25(ZA[3])+ZA[4]; |
|
|
|
|
ZA[23]=ZA[8]+ZA[19]; |
|
|
|
|
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]+0x766a0abbU)+ZR26(ZA[23]); |
|
|
|
|
ZA[3]=ZR15(ZA[17])+ZA[9]+ZR25(ZA[13])+ZA[3]; |
|
|
|
|
ZA[24]=ZA[2]+ZA[20]; |
|
|
|
|
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]+0x81c2c92eU)+ZR26(ZA[24]); |
|
|
|
|
ZA[13]=ZR15(ZA[4])+ZA[5]+ZR25(ZA[15])+ZA[13]; |
|
|
|
|
ZA[19]=ZA[7]+ZA[21]; |
|
|
|
|
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]+0x92722c85U)+ZR26(ZA[19]); |
|
|
|
|
ZA[15]=ZR15(ZA[3])+ZA[12]+ZR25(ZA[10])+ZA[15]; |
|
|
|
|
ZA[20]=ZA[8]+ZA[18]; |
|
|
|
|
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]+0xa2bfe8a1U)+ZR26(ZA[20]); |
|
|
|
|
ZA[10]=ZR15(ZA[13])+ZA[1]+ZR25(ZA[11])+ZA[10]; |
|
|
|
|
ZA[21]=ZA[2]+ZA[23]; |
|
|
|
|
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]+0xa81a664bU)+ZR26(ZA[21]); |
|
|
|
|
ZA[11]=ZR15(ZA[15])+ZA[0]+ZR25(ZA[6])+ZA[11]; |
|
|
|
|
ZA[18]=ZA[7]+ZA[24]; |
|
|
|
|
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]+0xc24b8b70U)+ZR26(ZA[18]); |
|
|
|
|
ZA[6]=ZR15(ZA[10])+ZA[17]+ZR25(ZA[14])+ZA[6]; |
|
|
|
|
ZA[23]=ZA[8]+ZA[19]; |
|
|
|
|
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]+0xc76c51a3U)+ZR26(ZA[23]); |
|
|
|
|
ZA[14]=ZR15(ZA[11])+ZA[4]+ZR25(ZA[16])+ZA[14]; |
|
|
|
|
ZA[24]=ZA[2]+ZA[20]; |
|
|
|
|
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]+0xd192e819U)+ZR26(ZA[24]); |
|
|
|
|
ZA[16]=ZR15(ZA[6])+ZA[3]+ZR25(ZA[22])+ZA[16]; |
|
|
|
|
ZA[19]=ZA[7]+ZA[21]; |
|
|
|
|
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]+0xd6990624U)+ZR26(ZA[19]); |
|
|
|
|
ZA[22]=ZR15(ZA[14])+ZA[13]+ZR25(ZA[9])+ZA[22]; |
|
|
|
|
ZA[20]=ZA[8]+ZA[18]; |
|
|
|
|
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]+0xf40e3585U)+ZR26(ZA[20]); |
|
|
|
|
ZA[9]=ZR15(ZA[16])+ZA[15]+ZR25(ZA[5])+ZA[9]; |
|
|
|
|
ZA[21]=ZA[2]+ZA[23]; |
|
|
|
|
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]+0x106aa070U)+ZR26(ZA[21]); |
|
|
|
|
ZA[5]=ZR15(ZA[22])+ZA[10]+ZR25(ZA[12])+ZA[5]; |
|
|
|
|
ZA[18]=ZA[7]+ZA[24]; |
|
|
|
|
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]+0x19a4c116U)+ZR26(ZA[18]); |
|
|
|
|
ZA[12]=ZR15(ZA[9])+ZA[11]+ZR25(ZA[1])+ZA[12]; |
|
|
|
|
ZA[23]=ZA[8]+ZA[19]; |
|
|
|
|
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]+0x1e376c08U)+ZR26(ZA[23]); |
|
|
|
|
ZA[1]=ZR15(ZA[5])+ZA[6]+ZR25(ZA[0])+ZA[1]; |
|
|
|
|
ZA[24]=ZA[2]+ZA[20]; |
|
|
|
|
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]+0x2748774cU)+ZR26(ZA[24]); |
|
|
|
|
ZA[0]=ZR15(ZA[12])+ZA[14]+ZR25(ZA[17])+ZA[0]; |
|
|
|
|
ZA[19]=ZA[7]+ZA[21]; |
|
|
|
|
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]+0x34b0bcb5U)+ZR26(ZA[19]); |
|
|
|
|
ZA[17]=ZR15(ZA[1])+ZA[16]+ZR25(ZA[4])+ZA[17]; |
|
|
|
|
ZA[16]=ZA[8]+ZA[18]; |
|
|
|
|
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]+0x391c0cb3U)+ZR26(ZA[16]); |
|
|
|
|
ZA[4]=ZR15(ZA[0])+ZA[22]+ZR25(ZA[3])+ZA[4]; |
|
|
|
|
ZA[22]=ZA[2]+ZA[23]; |
|
|
|
|
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]+0x4ed8aa4aU)+ZR26(ZA[22]); |
|
|
|
|
ZA[9]=ZR15(ZA[17])+ZA[9]+ZR25(ZA[13])+ZA[3]; |
|
|
|
|
ZA[3]=ZA[7]+ZA[24]; |
|
|
|
|
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]+0x5b9cca4fU)+ZR26(ZA[3]); |
|
|
|
|
ZA[13]=ZR15(ZA[4])+ZA[5]+ZR25(ZA[15])+ZA[13]; |
|
|
|
|
ZA[4]=ZA[8]+ZA[19]; |
|
|
|
|
ZA[5]=ZA[24]+ZMa(ZA[2],ZA[8],ZA[7])+ZR30(ZA[7]); |
|
|
|
|
ZA[16]=(ZCh(ZA[4],ZA[3],ZA[22])+ZA[16]+ZA[9]+0x682e6ff3U)+ZR26(ZA[4]); |
|
|
|
|
ZA[12]=ZR15(ZA[9])+ZA[12]+ZR25(ZA[10])+ZA[15]; |
|
|
|
|
ZA[15]=ZA[2]+ZA[16]; |
|
|
|
|
ZA[9]=ZA[19]+ZMa(ZA[7],ZA[2],ZA[5])+ZR30(ZA[5]); |
|
|
|
|
ZA[22]=(ZCh(ZA[15],ZA[4],ZA[3])+ZA[22]+ZA[13]+0x748f82eeU)+ZR26(ZA[15]); |
|
|
|
|
ZA[13]=ZR15(ZA[13])+ZA[1]+ZR25(ZA[11])+ZA[10]; |
|
|
|
|
ZA[10]=ZA[7]+ZA[22]; |
|
|
|
|
ZA[1]=ZA[16]+ZMa(ZA[5],ZA[7],ZA[9])+ZR30(ZA[9]); |
|
|
|
|
ZA[3]=(ZCh(ZA[10],ZA[15],ZA[4])+ZA[3]+ZA[5]+ZA[12]+0x78a5636fU)+ZR26(ZA[10]); |
|
|
|
|
ZA[4]=(ZCh(ZA[3],ZA[10],ZA[15])+ZA[9]+ZA[4]+ZA[13]+0x84c87814U)+ZR26(ZA[3]); |
|
|
|
|
ZA[15]=(ZCh(ZA[4],ZA[3],ZA[10])+ZA[1]+ZA[15]+ZR15(ZA[12])+ZA[0]+ZR25(ZA[6])+ZA[11]+0x8cc70208U)+ZR26(ZA[4]); |
|
|
|
|
ZA[10]=(ZCh(ZA[15],ZA[4],ZA[3])+ZA[22]+ZMa(ZA[9],ZA[5],ZA[1])+ZR30(ZA[1])+ZA[10]+ZR15(ZA[13])+ZA[17]+ZR25(ZA[14])+ZA[6])+ZR26(ZA[15]); |
|
|
|
|
|
|
|
|
|
#define FOUND (0x80) |
|
|
|
|
#define NFLAG (0x7F) |
|
|
|
|
|
|
|
|
|
#if defined(VECTORS4) |
|
|
|
|
bool result = any(ZA[447] == 0x136032EDU); |
|
|
|
|
bool result = any(ZA[10] == 0x136032EDU); |
|
|
|
|
|
|
|
|
|
if (result) { |
|
|
|
|
if (ZA[447].x == 0x136032EDU) |
|
|
|
|
if (ZA[10].x == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.x] = Znonce.x; |
|
|
|
|
if (ZA[447].y == 0x136032EDU) |
|
|
|
|
if (ZA[10].y == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.y] = Znonce.y; |
|
|
|
|
if (ZA[447].z == 0x136032EDU) |
|
|
|
|
if (ZA[10].z == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.z] = Znonce.z; |
|
|
|
|
if (ZA[447].w == 0x136032EDU) |
|
|
|
|
if (ZA[10].w == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.w] = Znonce.w; |
|
|
|
|
} |
|
|
|
|
#elif defined(VECTORS2) |
|
|
|
|
bool result = any(ZA[447] == 0x136032EDU); |
|
|
|
|
bool result = any(ZA[10] == 0x136032EDU); |
|
|
|
|
|
|
|
|
|
if (result) { |
|
|
|
|
if (ZA[447].x == 0x136032EDU) |
|
|
|
|
if (ZA[10].x == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.x] = Znonce.x; |
|
|
|
|
if (ZA[447].y == 0x136032EDU) |
|
|
|
|
if (ZA[10].y == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce.y] = Znonce.y; |
|
|
|
|
} |
|
|
|
|
#else |
|
|
|
|
if (ZA[447] == 0x136032EDU) |
|
|
|
|
if (ZA[10] == 0x136032EDU) |
|
|
|
|
output[FOUND] = output[NFLAG & Znonce] = Znonce; |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|