From 6121c2f17d700d09b03928b925ef8ea3715d398f Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 27 Feb 2012 11:56:08 +1100 Subject: [PATCH] Reuse variables to decrease total number used in diablo kernel. --- diablo120222.cl | 912 ++++++++++++++++++++++++------------------------ 1 file changed, 456 insertions(+), 456 deletions(-) diff --git a/diablo120222.cl b/diablo120222.cl index fa00124d..573887b2 100644 --- a/diablo120222.cl +++ b/diablo120222.cl @@ -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 }