/*****************************************************************************/ /* */ /* 2048/32 BIT DIVIDE (UNSIGNED) */ /* 02/08/12 (dkc) */ /* */ /*****************************************************************************/ unsigned int carry(unsigned int a, unsigned int b, unsigned int sum); unsigned int lmbd(unsigned int mode, unsigned int a); void div2048_32(unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int a4, unsigned int a5, unsigned int a6, unsigned int a7, unsigned int a8, unsigned int a9, unsigned int a10, unsigned int a11, unsigned int a12, unsigned int a13, unsigned int a14, unsigned int a15, unsigned int a16, unsigned int a17, unsigned int a18, unsigned int a19, unsigned int a20, unsigned int a21, unsigned int a22, unsigned int a23, unsigned int a24, unsigned int a25, unsigned int a26, unsigned int a27, unsigned int a28, unsigned int a29, unsigned int a30, unsigned int a31, unsigned int a32, unsigned int a33, unsigned int a34, unsigned int a35, unsigned int a36, unsigned int a37, unsigned int a38, unsigned int a39, unsigned int a40, unsigned int a41, unsigned int a42, unsigned int a43, unsigned int a44, unsigned int a45, unsigned int a46, unsigned int a47, unsigned int a48, unsigned int a49, unsigned int a50, unsigned int a51, unsigned int a52, unsigned int a53, unsigned int a54, unsigned int a55, unsigned int a56, unsigned int a57, unsigned int a58, unsigned int a59, unsigned int a60, unsigned int a61, unsigned int a62, unsigned int a63, unsigned int *quotient, unsigned int d63) { unsigned int i,d0,d1,d2,d3,d4,d5,d6,dshift,ashift,count,flag; unsigned int shift,c,c0,c1,c2,c3,c4,c5,c6,temp,temp0,temp1,temp2,temp3; unsigned int temp4,temp5,temp6,temp7; unsigned int d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,d18,d19,d20,d21,d22,d23; unsigned int d24,d25,d26,d27,d28,d29,d30,d31,d32,d33,d34,d35,d36,d37,d38,d39; unsigned int d40,d41,d42,d43,d44,d45,d46,d47,d48,d49,d50,d51,d52,d53,d54,d55; unsigned int d56,d57,d58,d59,d60,d61,d62; unsigned int c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23; unsigned int c24,c25,c26,c27,c28,c29,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39; unsigned int c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c50,c51,c52,c53,c54,c55; unsigned int c56,c57,c58,c59,c60,c61,c62; unsigned int temp8,temp9,temp10,temp11,temp12,temp13,temp14,temp15; unsigned int temp16,temp17,temp18,temp19,temp20,temp21,temp22,temp23; unsigned int temp24,temp25,temp26,temp27,temp28,temp29,temp30,temp31; unsigned int temp32,temp33,temp34,temp35,temp36,temp37,temp38,temp39; unsigned int temp40,temp41,temp42,temp43,temp44,temp45,temp46,temp47; unsigned int temp48,temp49,temp50,temp51,temp52,temp53,temp54,temp55; unsigned int temp56,temp57,temp58,temp59,temp60,temp61,temp62,temp63; if (a0!=0) ashift=lmbd(1,a0); else if (a1!=0) ashift=32+lmbd(1,a1); else if (a2!=0) ashift=64+lmbd(1,a2); else if (a3!=0) ashift=96+lmbd(1,a3); else if (a4!=0) ashift=128+lmbd(1,a4); else if (a5!=0) ashift=160+lmbd(1,a5); else if (a6!=0) ashift=192+lmbd(1,a6); else if (a7!=0) ashift=224+lmbd(1,a7); else if (a8!=0) ashift=256+lmbd(1,a8); else if (a9!=0) ashift=288+lmbd(1,a9); else if (a10!=0) ashift=320+lmbd(1,a10); else if (a11!=0) ashift=352+lmbd(1,a11); else if (a12!=0) ashift=384+lmbd(1,a12); else if (a13!=0) ashift=416+lmbd(1,a13); else if (a14!=0) ashift=448+lmbd(1,a14); else if (a15!=0) ashift=480+lmbd(1,a15); else if (a16!=0) ashift=512+lmbd(1,a16); else if (a17!=0) ashift=544+lmbd(1,a17); else if (a18!=0) ashift=576+lmbd(1,a18); else if (a19!=0) ashift=608+lmbd(1,a19); else if (a20!=0) ashift=640+lmbd(1,a20); else if (a21!=0) ashift=672+lmbd(1,a21); else if (a22!=0) ashift=704+lmbd(1,a22); else if (a23!=0) ashift=736+lmbd(1,a23); else if (a24!=0) ashift=768+lmbd(1,a24); else if (a25!=0) ashift=800+lmbd(1,a25); else if (a26!=0) ashift=832+lmbd(1,a26); else if (a27!=0) ashift=864+lmbd(1,a27); else if (a28!=0) ashift=896+lmbd(1,a28); else if (a29!=0) ashift=928+lmbd(1,a29); else if (a30!=0) ashift=960+lmbd(1,a30); else if (a31!=0) ashift=992+lmbd(1,a31); else if (a32!=0) ashift=1024+lmbd(1,a32); else if (a33!=0) ashift=1056+lmbd(1,a33); else if (a34!=0) ashift=1088+lmbd(1,a34); else if (a35!=0) ashift=1120+lmbd(1,a35); else if (a36!=0) ashift=1152+lmbd(1,a36); else if (a37!=0) ashift=1184+lmbd(1,a37); else if (a38!=0) ashift=1216+lmbd(1,a38); else if (a39!=0) ashift=1248+lmbd(1,a39); else if (a40!=0) ashift=1280+lmbd(1,a40); else if (a41!=0) ashift=1312+lmbd(1,a41); else if (a42!=0) ashift=1344+lmbd(1,a42); else if (a43!=0) ashift=1376+lmbd(1,a43); else if (a44!=0) ashift=1408+lmbd(1,a44); else if (a45!=0) ashift=1440+lmbd(1,a45); else if (a46!=0) ashift=1472+lmbd(1,a46); else if (a47!=0) ashift=1504+lmbd(1,a47); else if (a48!=0) ashift=1536+lmbd(1,a48); else if (a49!=0) ashift=1568+lmbd(1,a49); else if (a50!=0) ashift=1600+lmbd(1,a50); else if (a51!=0) ashift=1632+lmbd(1,a51); else if (a52!=0) ashift=1664+lmbd(1,a52); else if (a53!=0) ashift=1696+lmbd(1,a53); else if (a54!=0) ashift=1728+lmbd(1,a54); else if (a55!=0) ashift=1760+lmbd(1,a55); else if (a56!=0) ashift=1792+lmbd(1,a56); else if (a57!=0) ashift=1824+lmbd(1,a57); else if (a58!=0) ashift=1856+lmbd(1,a58); else if (a59!=0) ashift=1888+lmbd(1,a59); else if (a60!=0) ashift=1920+lmbd(1,a60); else if (a61!=0) ashift=1952+lmbd(1,a61); else if (a62!=0) ashift=1984+lmbd(1,a62); else { if (a63>=d63) ashift=2016+lmbd(1,a63); else { a63=0; goto zskip; } } dshift=lmbd(1,d63); dshift+=2016; shift=dshift-ashift; count=shift+1; d0=0; d1=0; d2=0; d3=0; d4=0; d5=0; d6=0; d7=0; d8=0; d9=0; d10=0; d11=0; d12=0; d13=0; d14=0; d15=0; d16=0; d17=0; d18=0; d19=0; d20=0; d21=0; d22=0; d23=0; d24=0; d25=0; d26=0; d27=0; d28=0; d29=0; d30=0; d31=0; d32=0; d33=0; d34=0; d35=0; d36=0; d37=0; d38=0; d39=0; d40=0; d41=0; d42=0; d43=0; d44=0; d45=0; d46=0; d47=0; d48=0; d49=0; d50=0; d51=0; d52=0; d53=0; d54=0; d55=0; d56=0; d57=0; d58=0; d59=0; d60=0; d61=0; d62=0; if (shift<32) { if (shift!=0) { d62=d63>>(32-shift); d63=d63<<shift; } flag=63; shift=32-shift; } else { shift=shift-32; d62=d63; d63=0; if (shift<32) { if (shift!=0) { d61=d62>>(32-shift); d62=d62<<shift; } flag=62; shift=32-shift; } else { shift=shift-32; d61=d62; d62=0; if (shift<32) { if (shift!=0) { d60=d61>>(32-shift); d61=d61<<shift; } flag=61; shift=32-shift; } else { shift=shift-32; d60=d61; d61=0; if (shift<32) { if (shift!=0) { d59=d60>>(32-shift); d60=d60<<shift; } flag=60; shift=32-shift; } else { shift=shift-32; d59=d60; d60=0; if (shift<32) { if (shift!=0) { d58=d59>>(32-shift); d59=d59<<shift; } flag=59; shift=32-shift; } else { shift=shift-32; d58=d59; d59=0; if (shift<32) { if (shift!=0) { d57=d58>>(32-shift); d58=d58<<shift; } flag=58; shift=32-shift; } else { shift=shift-32; d57=d58; d58=0; if (shift<32) { if (shift!=0) { d56=d57>>(32-shift); d57=d57<<shift; } flag=57; shift=32-shift; } else { shift=shift-32; d56=d57; d57=0; if (shift<32) { if (shift!=0) { d55=d56>>(32-shift); d56=d56<<shift; } flag=56; shift=32-shift; } else { shift=shift-32; d55=d56; d56=0; if (shift<32) { if (shift!=0) { d54=d55>>(32-shift); d55=d55<<shift; } flag=55; shift=32-shift; } else { shift=shift-32; d54=d55; d55=0; if (shift<32) { if (shift!=0) { d53=d54>>(32-shift); d54=d54<<shift; } flag=54; shift=32-shift; } else { shift=shift-32; d53=d54; d54=0; if (shift<32) { if (shift!=0) { d52=d53>>(32-shift); d53=d53<<shift; } flag=53; shift=32-shift; } else { shift=shift-32; d52=d53; d53=0; if (shift<32) { if (shift!=0) { d51=d52>>(32-shift); d52=d52<<shift; } flag=52; shift=32-shift; } else { shift=shift-32; d51=d52; d52=0; if (shift<32) { if (shift!=0) { d50=d51>>(32-shift); d51=d51<<shift; } flag=51; shift=32-shift; } else { shift=shift-32; d50=d51; d51=0; if (shift<32) { if (shift!=0) { d49=d50>>(32-shift); d50=d50<<shift; } flag=50; shift=32-shift; } else { shift=shift-32; d49=d50; d50=0; if (shift<32) { if (shift!=0) { d48=d49>>(32-shift); d49=d49<<shift; } flag=49; shift=32-shift; } else { shift=shift-32; d48=d49; d49=0; if (shift<32) { if (shift!=0) { d47=d48>>(32-shift); d48=d48<<shift; } flag=48; shift=32-shift; } else { shift=shift-32; d47=d48; d48=0; if (shift<32) { if (shift!=0) { d46=d47>>(32-shift); d47=d47<<shift; } flag=47; shift=32-shift; } else { shift=shift-32; d46=d47; d47=0; if (shift<32) { if (shift!=0) { d45=d46>>(32-shift); d46=d46<<shift; } flag=46; shift=32-shift; } else { shift=shift-32; d45=d46; d46=0; if (shift<32) { if (shift!=0) { d44=d45>>(32-shift); d45=d45<<shift; } flag=45; shift=32-shift; } else { shift=shift-32; d44=d45; d45=0; if (shift<32) { if (shift!=0) { d43=d44>>(32-shift); d44=d44<<shift; } flag=44; shift=32-shift; } else { shift=shift-32; d43=d44; d44=0; if (shift<32) { if (shift!=0) { d42=d43>>(32-shift); d43=d43<<shift; } flag=43; shift=32-shift; } else { shift=shift-32; d42=d43; d43=0; if (shift<32) { if (shift!=0) { d41=d42>>(32-shift); d42=d42<<shift; } flag=42; shift=32-shift; } else { shift=shift-32; d41=d42; d42=0; if (shift<32) { if (shift!=0) { d40=d41>>(32-shift); d41=d41<<shift; } flag=41; shift=32-shift; } else { shift=shift-32; d40=d41; d41=0; if (shift<32) { if (shift!=0) { d39=d40>>(32-shift); d40=d40<<shift; } flag=40; shift=32-shift; } else { shift=shift-32; d39=d40; d40=0; if (shift<32) { if (shift!=0) { d38=d39>>(32-shift); d39=d39<<shift; } flag=39; shift=32-shift; } else { shift=shift-32; d38=d39; d39=0; if (shift<32) { if (shift!=0) { d37=d38>>(32-shift); d38=d38<<shift; } flag=38; shift=32-shift; } else { shift=shift-32; d37=d38; d38=0; if (shift<32) { if (shift!=0) { d36=d37>>(32-shift); d37=d37<<shift; } flag=37; shift=32-shift; } else { shift=shift-32; d36=d37; d37=0; if (shift<32) { if (shift!=0) { d35=d36>>(32-shift); d36=d36<<shift; } flag=36; shift=32-shift; } else { shift=shift-32; d35=d36; d36=0; if (shift<32) { if (shift!=0) { d34=d35>>(32-shift); d35=d35<<shift; } flag=35; shift=32-shift; } else { shift=shift-32; d34=d35; d35=0; if (shift<32) { if (shift!=0) { d33=d34>>(32-shift); d34=d34<<shift; } flag=34; shift=32-shift; } else { shift=shift-32; d33=d34; d34=0; if (shift<32) { if (shift!=0) { d32=d33>>(32-shift); d33=d33<<shift; } flag=33; shift=32-shift; } else { shift=shift-32; d32=d33; d33=0; if (shift<32) { if (shift!=0) { d31=d32>>(32-shift); d32=d32<<shift; } flag=32; shift=32-shift; } else { shift=shift-32; d31=d32; d32=0; if (shift<32) { if (shift!=0) { d30=d31>>(32-shift); d31=d31<<shift; } flag=31; shift=32-shift; } else { shift=shift-32; d30=d31; d31=0; if (shift<32) { if (shift!=0) { d29=d30>>(32-shift); d30=d30<<shift; } flag=30; shift=32-shift; } else { shift=shift-32; d29=d30; d30=0; if (shift<32) { if (shift!=0) { d28=d29>>(32-shift); d29=d29<<shift; } flag=29; shift=32-shift; } else { shift=shift-32; d28=d29; d29=0; if (shift<32) { if (shift!=0) { d27=d28>>(32-shift); d28=d28<<shift; } flag=28; shift=32-shift; } else { shift=shift-32; d27=d28; d28=0; if (shift<32) { if (shift!=0) { d26=d27>>(32-shift); d27=d27<<shift; } flag=27; shift=32-shift; } else { shift=shift-32; d26=d27; d27=0; if (shift<32) { if (shift!=0) { d25=d26>>(32-shift); d26=d26<<shift; } flag=26; shift=32-shift; } else { shift=shift-32; d25=d26; d26=0; if (shift<32) { if (shift!=0) { d24=d25>>(32-shift); d25=d25<<shift; } flag=25; shift=32-shift; } else { shift=shift-32; d24=d25; d25=0; if (shift<32) { if (shift!=0) { d23=d24>>(32-shift); d24=d24<<shift; } flag=24; shift=32-shift; } else { shift=shift-32; d23=d24; d24=0; if (shift<32) { if (shift!=0) { d22=d23>>(32-shift); d23=d23<<shift; } flag=23; shift=32-shift; } else { shift=shift-32; d22=d23; d23=0; if (shift<32) { if (shift!=0) { d21=d22>>(32-shift); d22=d22<<shift; } flag=22; shift=32-shift; } else { shift=shift-32; d21=d22; d22=0; if (shift<32) { if (shift!=0) { d20=d21>>(32-shift); d21=d21<<shift; } flag=21; shift=32-shift; } else { shift=shift-32; d20=d21; d21=0; if (shift<32) { if (shift!=0) { d19=d20>>(32-shift); d20=d20<<shift; } flag=20; shift=32-shift; } else { shift=shift-32; d19=d20; d20=0; if (shift<32) { if (shift!=0) { d18=d19>>(32-shift); d19=d19<<shift; } flag=19; shift=32-shift; } else { shift=shift-32; d18=d19; d19=0; if (shift<32) { if (shift!=0) { d17=d18>>(32-shift); d18=d18<<shift; } flag=18; shift=32-shift; } else { shift=shift-32; d17=d18; d18=0; if (shift<32) { if (shift!=0) { d16=d17>>(32-shift); d17=d17<<shift; } flag=17; shift=32-shift; } else { shift=shift-32; d16=d17; d17=0; if (shift<32) { if (shift!=0) { d15=d16>>(32-shift); d16=d16<<shift; } flag=16; shift=32-shift; } else { shift=shift-32; d15=d16; d16=0; if (shift<32) { if (shift!=0) { d14=d15>>(32-shift); d15=d15<<shift; } flag=15; shift=32-shift; } else { shift=shift-32; d14=d15; d15=0; if (shift<32) { if (shift!=0) { d13=d14>>(32-shift); d14=d14<<shift; } flag=14; shift=32-shift; } else { shift=shift-32; d13=d14; d14=0; if (shift<32) { if (shift!=0) { d12=d13>>(32-shift); d13=d13<<shift; } flag=13; shift=32-shift; } else { shift=shift-32; d12=d13; d13=0; if (shift<32) { if (shift!=0) { d11=d12>>(32-shift); d12=d12<<shift; } flag=12; shift=32-shift; } else { shift=shift-32; d11=d12; d12=0; if (shift<32) { if (shift!=0) { d10=d11>>(32-shift); d11=d11<<shift; } flag=11; shift=32-shift; } else { shift=shift-32; d10=d11; d11=0; if (shift<32) { if (shift!=0) { d9=d10>>(32-shift); d10=d10<<shift; } flag=10; shift=32-shift; } else { shift=shift-32; d9=d10; d10=0; if (shift<32) { if (shift!=0) { d8=d9>>(32-shift); d9=d9<<shift; } flag=9; shift=32-shift; } else { shift=shift-32; d8=d9; d9=0; if (shift<32) { if (shift!=0) { d7=d8>>(32-shift); d8=d8<<shift; } flag=8; shift=32-shift; } else { shift=shift-32; d7=d8; d8=0; if (shift<32) { if (shift!=0) { d6=d7>>(32-shift); d7=d7<<shift; } flag=7; shift=32-shift; } else { shift=shift-32; d6=d7; d7=0; if (shift<32) { if (shift!=0) { d5=d6>>(32-shift); d6=d6<<shift; } flag=6; shift=32-shift; } else { shift=shift-32; d5=d6; d6=0; if (shift<32) { if (shift!=0) { d4=d5>>(32-shift); d5=d5<<shift; } flag=5; shift=32-shift; } else { shift=shift-32; d4=d5; d5=0; if (shift<32) { if (shift!=0) { d3=d4>>(32-shift); d4=d4<<shift; } flag=4; shift=32-shift; } else { shift=shift-32; d3=d4; d4=0; if (shift<32) { if (shift!=0) { d2=d3>>(32-shift); d3=d3<<shift; } flag=3; shift=32-shift; } else { shift=shift-32; d2=d3; d3=0; if (shift<32) { if (shift!=0) { d1=d2>>(32-shift); d2=d2<<shift; } flag=2; shift=32-shift; } else { shift=shift-32; d1=d2; d2=0; if (shift<32) { if (shift!=0) { d0=d1>>(32-shift); d1=d1<<shift; } flag=1; shift=32-shift; } else { shift=shift-32; d0=d1; d1=0; if (shift<32) { if (shift!=0) { d0=d0<<shift; } flag=0; shift=32-shift; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } d0=~d0; d1=~d1; d2=~d2; d3=~d3; d4=~d4; d5=~d5; d6=~d6; d7=~d7; d8=~d8; d9=~d9; d10=~d10; d11=~d11; d12=~d12; d13=~d13; d14=~d14; d15=~d15; d16=~d16; d17=~d17; d18=~d18; d19=~d19; d20=~d20; d21=~d21; d22=~d22; d23=~d23; d24=~d24; d25=~d25; d26=~d26; d27=~d27; d28=~d28; d29=~d29; d30=~d30; d31=~d31; d32=~d32; d33=~d33; d34=~d34; d35=~d35; d36=~d36; d37=~d37; d38=~d38; d39=~d39; d40=~d40; d41=~d41; d42=~d42; d43=~d43; d44=~d44; d45=~d45; d46=~d46; d47=~d47; d48=~d48; d49=~d49; d50=~d50; d51=~d51; d52=~d52; d53=~d53; d54=~d54; d55=~d55; d56=~d56; d57=~d57; d58=~d58; d59=~d59; d60=~d60; d61=~d61; d62=~d62; d63=~d63; temp=d63+1; c=carry(d63,1,temp); d63=temp; temp=d62+c; c=carry(d62,1,temp); d62=temp; temp=d61+c; c=carry(d61,1,temp); d61=temp; temp=d60+c; c=carry(d60,1,temp); d60=temp; temp=d59+c; c=carry(d59,1,temp); d59=temp; temp=d58+c; c=carry(d58,1,temp); d58=temp; temp=d57+c; c=carry(d57,1,temp); d57=temp; temp=d56+c; c=carry(d56,1,temp); d56=temp; temp=d55+c; c=carry(d55,1,temp); d55=temp; temp=d54+c; c=carry(d54,1,temp); d54=temp; temp=d53+c; c=carry(d53,1,temp); d53=temp; temp=d52+c; c=carry(d52,1,temp); d52=temp; temp=d51+c; c=carry(d51,1,temp); d51=temp; temp=d50+c; c=carry(d50,1,temp); d50=temp; temp=d49+c; c=carry(d49,1,temp); d49=temp; temp=d48+c; c=carry(d48,1,temp); d48=temp; temp=d47+c; c=carry(d47,1,temp); d47=temp; temp=d46+c; c=carry(d46,1,temp); d46=temp; temp=d45+c; c=carry(d45,1,temp); d45=temp; temp=d44+c; c=carry(d44,1,temp); d44=temp; temp=d43+c; c=carry(d43,1,temp); d43=temp; temp=d42+c; c=carry(d42,1,temp); d42=temp; temp=d41+c; c=carry(d41,1,temp); d41=temp; temp=d40+c; c=carry(d40,1,temp); d40=temp; temp=d39+c; c=carry(d39,1,temp); d39=temp; temp=d38+c; c=carry(d38,1,temp); d38=temp; temp=d37+c; c=carry(d37,1,temp); d37=temp; temp=d36+c; c=carry(d36,1,temp); d36=temp; temp=d35+c; c=carry(d35,1,temp); d35=temp; temp=d34+c; c=carry(d34,1,temp); d34=temp; temp=d33+c; c=carry(d33,1,temp); d33=temp; temp=d32+c; c=carry(d32,1,temp); d32=temp; temp=d31+c; c=carry(d31,1,temp); d31=temp; temp=d30+c; c=carry(d30,1,temp); d30=temp; temp=d29+c; c=carry(d29,1,temp); d29=temp; temp=d28+c; c=carry(d28,1,temp); d28=temp; temp=d27+c; c=carry(d27,1,temp); d27=temp; temp=d26+c; c=carry(d26,1,temp); d26=temp; temp=d25+c; c=carry(d25,1,temp); d25=temp; temp=d24+c; c=carry(d24,1,temp); d24=temp; temp=d23+c; c=carry(d23,1,temp); d23=temp; temp=d22+c; c=carry(d22,1,temp); d22=temp; temp=d21+c; c=carry(d21,1,temp); d21=temp; temp=d20+c; c=carry(d20,1,temp); d20=temp; temp=d19+c; c=carry(d19,1,temp); d19=temp; temp=d18+c; c=carry(d18,1,temp); d18=temp; temp=d17+c; c=carry(d17,1,temp); d17=temp; temp=d16+c; c=carry(d16,1,temp); d16=temp; temp=d15+c; c=carry(d15,1,temp); d15=temp; temp=d14+c; c=carry(d14,1,temp); d14=temp; temp=d13+c; c=carry(d13,1,temp); d13=temp; temp=d12+c; c=carry(d12,1,temp); d12=temp; temp=d11+c; c=carry(d11,1,temp); d11=temp; temp=d10+c; c=carry(d10,1,temp); d10=temp; temp=d9+c; c=carry(d9,1,temp); d9=temp; temp=d8+c; c=carry(d8,1,temp); d8=temp; temp=d7+c; c=carry(d7,1,temp); d7=temp; temp=d6+c; c=carry(d6,1,temp); d6=temp; temp=d5+c; c=carry(d5,1,temp); d5=temp; temp=d4+c; c=carry(d4,1,temp); d4=temp; temp=d3+c; c=carry(d3,1,temp); d3=temp; temp=d2+c; c=carry(d2,c,temp); d2=temp; temp=d1+c; c=carry(d1,c,temp); d1=temp; d0=d0+c; for (i=0; i<count; i++) { temp63=a63+d63; c62=carry(a63,d63,temp63); temp=a62+c62; c61=carry(a62,c62,temp); temp62=temp+d62; c61+=carry(temp,d62,temp62); temp=a61+c61; c60=carry(a61,c61,temp); temp61=temp+d61; c60+=carry(temp,d61,temp61); temp=a60+c60; c59=carry(a60,c60,temp); temp60=temp+d60; c59+=carry(temp,d60,temp60); temp=a59+c59; c58=carry(a59,c59,temp); temp59=temp+d59; c58+=carry(temp,d59,temp59); temp=a58+c58; c57=carry(a58,c58,temp); temp58=temp+d58; c57+=carry(temp,d58,temp58); temp=a57+c57; c56=carry(a57,c57,temp); temp57=temp+d57; c56+=carry(temp,d57,temp57); temp=a56+c56; c55=carry(a56,c56,temp); temp56=temp+d56; c55+=carry(temp,d56,temp56); temp=a55+c55; c54=carry(a55,c55,temp); temp55=temp+d55; c54+=carry(temp,d55,temp55); temp=a54+c54; c53=carry(a54,c54,temp); temp54=temp+d54; c53+=carry(temp,d54,temp54); temp=a53+c53; c52=carry(a53,c53,temp); temp53=temp+d53; c52+=carry(temp,d53,temp53); temp=a52+c52; c51=carry(a52,c52,temp); temp52=temp+d52; c51+=carry(temp,d52,temp52); temp=a51+c51; c50=carry(a51,c51,temp); temp51=temp+d51; c50+=carry(temp,d51,temp51); temp=a50+c50; c49=carry(a50,c50,temp); temp50=temp+d50; c49+=carry(temp,d50,temp50); temp=a49+c49; c48=carry(a49,c49,temp); temp49=temp+d49; c48+=carry(temp,d49,temp49); temp=a48+c48; c47=carry(a48,c48,temp); temp48=temp+d48; c47+=carry(temp,d48,temp48); temp=a47+c47; c46=carry(a47,c47,temp); temp47=temp+d47; c46+=carry(temp,d47,temp47); temp=a46+c46; c45=carry(a46,c46,temp); temp46=temp+d46; c45+=carry(temp,d46,temp46); temp=a45+c45; c44=carry(a45,c45,temp); temp45=temp+d45; c44+=carry(temp,d45,temp45); temp=a44+c44; c43=carry(a44,c44,temp); temp44=temp+d44; c43+=carry(temp,d44,temp44); temp=a43+c43; c42=carry(a43,c43,temp); temp43=temp+d43; c42+=carry(temp,d43,temp43); temp=a42+c42; c41=carry(a42,c42,temp); temp42=temp+d42; c41+=carry(temp,d42,temp42); temp=a41+c41; c40=carry(a41,c41,temp); temp41=temp+d41; c40+=carry(temp,d41,temp41); temp=a40+c40; c39=carry(a40,c40,temp); temp40=temp+d40; c39+=carry(temp,d40,temp40); temp=a39+c39; c38=carry(a39,c39,temp); temp39=temp+d39; c38+=carry(temp,d39,temp39); temp=a38+c38; c37=carry(a38,c38,temp); temp38=temp+d38; c37+=carry(temp,d38,temp38); temp=a37+c37; c36=carry(a37,c37,temp); temp37=temp+d37; c36+=carry(temp,d37,temp37); temp=a36+c36; c35=carry(a36,c36,temp); temp36=temp+d36; c35+=carry(temp,d36,temp36); temp=a35+c35; c34=carry(a35,c35,temp); temp35=temp+d35; c34+=carry(temp,d35,temp35); temp=a34+c34; c33=carry(a34,c34,temp); temp34=temp+d34; c33+=carry(temp,d34,temp34); temp=a33+c33; c32=carry(a33,c33,temp); temp33=temp+d33; c32+=carry(temp,d33,temp33); temp=a32+c32; c31=carry(a32,c32,temp); temp32=temp+d32; c31+=carry(temp,d32,temp32); temp=a31+c31; c30=carry(a31,c31,temp); temp31=temp+d31; c30+=carry(temp,d31,temp31); temp=a30+c30; c29=carry(a30,c30,temp); temp30=temp+d30; c29+=carry(temp,d30,temp30); temp=a29+c29; c28=carry(a29,c29,temp); temp29=temp+d29; c28+=carry(temp,d29,temp29); temp=a28+c28; c27=carry(a28,c28,temp); temp28=temp+d28; c27+=carry(temp,d28,temp28); temp=a27+c27; c26=carry(a27,c27,temp); temp27=temp+d27; c26+=carry(temp,d27,temp27); temp=a26+c26; c25=carry(a26,c26,temp); temp26=temp+d26; c25+=carry(temp,d26,temp26); temp=a25+c25; c24=carry(a25,c25,temp); temp25=temp+d25; c24+=carry(temp,d25,temp25); temp=a24+c24; c23=carry(a24,c24,temp); temp24=temp+d24; c23+=carry(temp,d24,temp24); temp=a23+c23; c22=carry(a23,c23,temp); temp23=temp+d23; c22+=carry(temp,d23,temp23); temp=a22+c22; c21=carry(a22,c22,temp); temp22=temp+d22; c21+=carry(temp,d22,temp22); temp=a21+c21; c20=carry(a21,c21,temp); temp21=temp+d21; c20+=carry(temp,d21,temp21); temp=a20+c20; c19=carry(a20,c20,temp); temp20=temp+d20; c19+=carry(temp,d20,temp20); temp=a19+c19; c18=carry(a19,c19,temp); temp19=temp+d19; c18+=carry(temp,d19,temp19); temp=a18+c18; c17=carry(a18,c18,temp); temp18=temp+d18; c17+=carry(temp,d18,temp18); temp=a17+c17; c16=carry(a17,c17,temp); temp17=temp+d17; c16+=carry(temp,d17,temp17); temp=a16+c16; c15=carry(a16,c16,temp); temp16=temp+d16; c15+=carry(temp,d16,temp16); temp=a15+c15; c14=carry(a15,c15,temp); temp15=temp+d15; c14+=carry(temp,d15,temp15); temp=a14+c14; c13=carry(a14,c14,temp); temp14=temp+d14; c13+=carry(temp,d14,temp14); temp=a13+c13; c12=carry(a13,c13,temp); temp13=temp+d13; c12+=carry(temp,d13,temp13); temp=a12+c12; c11=carry(a12,c12,temp); temp12=temp+d12; c11+=carry(temp,d12,temp12); temp=a11+c11; c10=carry(a11,c11,temp); temp11=temp+d11; c10+=carry(temp,d11,temp11); temp=a10+c10; c9=carry(a10,c10,temp); temp10=temp+d10; c9+=carry(temp,d10,temp10); temp=a9+c9; c8=carry(a9,c9,temp); temp9=temp+d9; c8+=carry(temp,d9,temp9); temp=a8+c8; c7=carry(a8,c8,temp); temp8=temp+d8; c7+=carry(temp,d8,temp8); temp=a7+c7; c6=carry(a7,c7,temp); temp7=temp+d7; c6+=carry(temp,d7,temp7); temp=a6+c6; c5=carry(a6,c6,temp); temp6=temp+d6; c5+=carry(temp,d6,temp6); temp=a5+c5; c4=carry(a5,c5,temp); temp5=temp+d5; c4+=carry(temp,d5,temp5); temp=a4+c4; c3=carry(a4,c4,temp); temp4=temp+d4; c3+=carry(temp,d4,temp4); temp=a3+c3; c2=carry(a3,c3,temp); temp3=temp+d3; c2+=carry(temp,d3,temp3); temp=a2+c2; c1=carry(a2,c2,temp); temp2=temp+d2; c1+=carry(temp,d2,temp2); temp=a1+c1; c0=carry(a1,c1,temp); temp1=temp+d1; c0+=carry(temp,d1,temp1); temp0=a0+d0+c0; if ((temp0>>31)==0) { a0=temp0<<1; if ((temp1>>31)!=0) c=1; else c=0; a0=a0+c; a1=temp1<<1; if ((temp2>>31)!=0) c=1; else c=0; a1=a1+c; a2=temp2<<1; if ((temp3>>31)!=0) c=1; else c=0; a2=a2+c; a3=temp3<<1; if ((temp4>>31)!=0) c=1; else c=0; a3=a3+c; a4=temp4<<1; if ((temp5>>31)!=0) c=1; else c=0; a4=a4+c; a5=temp5<<1; if ((temp6>>31)!=0) c=1; else c=0; a5=a5+c; a6=temp6<<1; if ((temp7>>31)!=0) c=1; else c=0; a6=a6+c; a7=temp7<<1; if ((temp8>>31)!=0) c=1; else c=0; a7=a7+c; a8=temp8<<1; if ((temp9>>31)!=0) c=1; else c=0; a8=a8+c; a9=temp9<<1; if ((temp10>>31)!=0) c=1; else c=0; a9=a9+c; a10=temp10<<1; if ((temp11>>31)!=0) c=1; else c=0; a10=a10+c; a11=temp11<<1; if ((temp12>>31)!=0) c=1; else c=0; a11=a11+c; a12=temp12<<1; if ((temp13>>31)!=0) c=1; else c=0; a12=a12+c; a13=temp13<<1; if ((temp14>>31)!=0) c=1; else c=0; a13=a13+c; a14=temp14<<1; if ((temp15>>31)!=0) c=1; else c=0; a14=a14+c; a15=temp15<<1; if ((temp16>>31)!=0) c=1; else c=0; a15=a15+c; a16=temp16<<1; if ((temp17>>31)!=0) c=1; else c=0; a16=a16+c; a17=temp17<<1; if ((temp18>>31)!=0) c=1; else c=0; a17=a17+c; a18=temp18<<1; if ((temp19>>31)!=0) c=1; else c=0; a18=a18+c; a19=temp19<<1; if ((temp20>>31)!=0) c=1; else c=0; a19=a19+c; a20=temp20<<1; if ((temp21>>31)!=0) c=1; else c=0; a20=a20+c; a21=temp21<<1; if ((temp22>>31)!=0) c=1; else c=0; a21=a21+c; a22=temp22<<1; if ((temp23>>31)!=0) c=1; else c=0; a22=a22+c; a23=temp23<<1; if ((temp24>>31)!=0) c=1; else c=0; a23=a23+c; a24=temp24<<1; if ((temp25>>31)!=0) c=1; else c=0; a24=a24+c; a25=temp25<<1; if ((temp26>>31)!=0) c=1; else c=0; a25=a25+c; a26=temp26<<1; if ((temp27>>31)!=0) c=1; else c=0; a26=a26+c; a27=temp27<<1; if ((temp28>>31)!=0) c=1; else c=0; a27=a27+c; a28=temp28<<1; if ((temp29>>31)!=0) c=1; else c=0; a28=a28+c; a29=temp29<<1; if ((temp30>>31)!=0) c=1; else c=0; a29=a29+c; a30=temp30<<1; if ((temp31>>31)!=0) c=1; else c=0; a30=a30+c; a31=temp31<<1; if ((temp32>>31)!=0) c=1; else c=0; a31=a31+c; a32=temp32<<1; if ((temp33>>31)!=0) c=1; else c=0; a32=a32+c; a33=temp33<<1; if ((temp34>>31)!=0) c=1; else c=0; a33=a33+c; a34=temp34<<1; if ((temp35>>31)!=0) c=1; else c=0; a34=a34+c; a35=temp35<<1; if ((temp36>>31)!=0) c=1; else c=0; a35=a35+c; a36=temp36<<1; if ((temp37>>31)!=0) c=1; else c=0; a36=a36+c; a37=temp37<<1; if ((temp38>>31)!=0) c=1; else c=0; a37=a37+c; a38=temp38<<1; if ((temp39>>31)!=0) c=1; else c=0; a38=a38+c; a39=temp39<<1; if ((temp40>>31)!=0) c=1; else c=0; a39=a39+c; a40=temp40<<1; if ((temp41>>31)!=0) c=1; else c=0; a40=a40+c; a41=temp41<<1; if ((temp42>>31)!=0) c=1; else c=0; a41=a41+c; a42=temp42<<1; if ((temp43>>31)!=0) c=1; else c=0; a42=a42+c; a43=temp43<<1; if ((temp44>>31)!=0) c=1; else c=0; a43=a43+c; a44=temp44<<1; if ((temp45>>31)!=0) c=1; else c=0; a44=a44+c; a45=temp45<<1; if ((temp46>>31)!=0) c=1; else c=0; a45=a45+c; a46=temp46<<1; if ((temp47>>31)!=0) c=1; else c=0; a46=a46+c; a47=temp47<<1; if ((temp48>>31)!=0) c=1; else c=0; a47=a47+c; a48=temp48<<1; if ((temp49>>31)!=0) c=1; else c=0; a48=a48+c; a49=temp49<<1; if ((temp50>>31)!=0) c=1; else c=0; a49=a49+c; a50=temp50<<1; if ((temp51>>31)!=0) c=1; else c=0; a50=a50+c; a51=temp51<<1; if ((temp52>>31)!=0) c=1; else c=0; a51=a51+c; a52=temp52<<1; if ((temp53>>31)!=0) c=1; else c=0; a52=a52+c; a53=temp53<<1; if ((temp54>>31)!=0) c=1; else c=0; a53=a53+c; a54=temp54<<1; if ((temp55>>31)!=0) c=1; else c=0; a54=a54+c; a55=temp55<<1; if ((temp56>>31)!=0) c=1; else c=0; a55=a55+c; a56=temp56<<1; if ((temp57>>31)!=0) c=1; else c=0; a56=a56+c; a57=temp57<<1; if ((temp58>>31)!=0) c=1; else c=0; a57=a57+c; a58=temp58<<1; if ((temp59>>31)!=0) c=1; else c=0; a58=a58+c; a59=temp59<<1; if ((temp60>>31)!=0) c=1; else c=0; a59=a59+c; a60=temp60<<1; if ((temp61>>31)!=0) c=1; else c=0; a60=a60+c; a61=temp61<<1; if ((temp62>>31)!=0) c=1; else c=0; a61=a61+c; a62=temp62<<1; if ((temp63>>31)!=0) c=1; else c=0; a62=a62+c; a63=temp63<<1; a63=a63+1; } else { a0=a0<<1; if ((a1>>31)!=0) c=1; else c=0; a0=a0+c; a1=a1<<1; if ((a2>>31)!=0) c=1; else c=0; a1=a1+c; a2=a2<<1; if ((a3>>31)!=0) c=1; else c=0; a2=a2+c; a3=a3<<1; if ((a4>>31)!=0) c=1; else c=0; a3=a3+c; a4=a4<<1; if ((a5>>31)!=0) c=1; else c=0; a4=a4+c; a5=a5<<1; if ((a6>>31)!=0) c=1; else c=0; a5=a5+c; a6=a6<<1; if ((a7>>31)!=0) c=1; else c=0; a6=a6+c; a7=a7<<1; if ((a8>>31)!=0) c=1; else c=0; a7=a7+c; a8=a8<<1; if ((a9>>31)!=0) c=1; else c=0; a8=a8+c; a9=a9<<1; if ((a10>>31)!=0) c=1; else c=0; a9=a9+c; a10=a10<<1; if ((a11>>31)!=0) c=1; else c=0; a10=a10+c; a11=a11<<1; if ((a12>>31)!=0) c=1; else c=0; a11=a11+c; a12=a12<<1; if ((a13>>31)!=0) c=1; else c=0; a12=a12+c; a13=a13<<1; if ((a14>>31)!=0) c=1; else c=0; a13=a13+c; a14=a14<<1; if ((a15>>31)!=0) c=1; else c=0; a14=a14+c; a15=a15<<1; if ((a16>>31)!=0) c=1; else c=0; a15=a15+c; a16=a16<<1; if ((a17>>31)!=0) c=1; else c=0; a16=a16+c; a17=a17<<1; if ((a18>>31)!=0) c=1; else c=0; a17=a17+c; a18=a18<<1; if ((a19>>31)!=0) c=1; else c=0; a18=a18+c; a19=a19<<1; if ((a20>>31)!=0) c=1; else c=0; a19=a19+c; a20=a20<<1; if ((a21>>31)!=0) c=1; else c=0; a20=a20+c; a21=a21<<1; if ((a22>>31)!=0) c=1; else c=0; a21=a21+c; a22=a22<<1; if ((a23>>31)!=0) c=1; else c=0; a22=a22+c; a23=a23<<1; if ((a24>>31)!=0) c=1; else c=0; a23=a23+c; a24=a24<<1; if ((a25>>31)!=0) c=1; else c=0; a24=a24+c; a25=a25<<1; if ((a26>>31)!=0) c=1; else c=0; a25=a25+c; a26=a26<<1; if ((a27>>31)!=0) c=1; else c=0; a26=a26+c; a27=a27<<1; if ((a28>>31)!=0) c=1; else c=0; a27=a27+c; a28=a28<<1; if ((a29>>31)!=0) c=1; else c=0; a28=a28+c; a29=a29<<1; if ((a30>>31)!=0) c=1; else c=0; a29=a29+c; a30=a30<<1; if ((a31>>31)!=0) c=1; else c=0; a30=a30+c; a31=a31<<1; if ((a32>>31)!=0) c=1; else c=0; a31=a31+c; a32=a32<<1; if ((a33>>31)!=0) c=1; else c=0; a32=a32+c; a33=a33<<1; if ((a34>>31)!=0) c=1; else c=0; a33=a33+c; a34=a34<<1; if ((a35>>31)!=0) c=1; else c=0; a34=a34+c; a35=a35<<1; if ((a36>>31)!=0) c=1; else c=0; a35=a35+c; a36=a36<<1; if ((a37>>31)!=0) c=1; else c=0; a36=a36+c; a37=a37<<1; if ((a38>>31)!=0) c=1; else c=0; a37=a37+c; a38=a38<<1; if ((a39>>31)!=0) c=1; else c=0; a38=a38+c; a39=a39<<1; if ((a40>>31)!=0) c=1; else c=0; a39=a39+c; a40=a40<<1; if ((a41>>31)!=0) c=1; else c=0; a40=a40+c; a41=a41<<1; if ((a42>>31)!=0) c=1; else c=0; a41=a41+c; a42=a42<<1; if ((a43>>31)!=0) c=1; else c=0; a42=a42+c; a43=a43<<1; if ((a44>>31)!=0) c=1; else c=0; a43=a43+c; a44=a44<<1; if ((a45>>31)!=0) c=1; else c=0; a44=a44+c; a45=a45<<1; if ((a46>>31)!=0) c=1; else c=0; a45=a45+c; a46=a46<<1; if ((a47>>31)!=0) c=1; else c=0; a46=a46+c; a47=a47<<1; if ((a48>>31)!=0) c=1; else c=0; a47=a47+c; a48=a48<<1; if ((a49>>31)!=0) c=1; else c=0; a48=a48+c; a49=a49<<1; if ((a50>>31)!=0) c=1; else c=0; a49=a49+c; a50=a50<<1; if ((a51>>31)!=0) c=1; else c=0; a50=a50+c; a51=a51<<1; if ((a52>>31)!=0) c=1; else c=0; a51=a51+c; a52=a52<<1; if ((a53>>31)!=0) c=1; else c=0; a52=a52+c; a53=a53<<1; if ((a54>>31)!=0) c=1; else c=0; a53=a53+c; a54=a54<<1; if ((a55>>31)!=0) c=1; else c=0; a54=a54+c; a55=a55<<1; if ((a56>>31)!=0) c=1; else c=0; a55=a55+c; a56=a56<<1; if ((a57>>31)!=0) c=1; else c=0; a56=a56+c; a57=a57<<1; if ((a58>>31)!=0) c=1; else c=0; a57=a57+c; a58=a58<<1; if ((a59>>31)!=0) c=1; else c=0; a58=a58+c; a59=a59<<1; if ((a60>>31)!=0) c=1; else c=0; a59=a59+c; a60=a60<<1; if ((a61>>31)!=0) c=1; else c=0; a60=a60+c; a61=a61<<1; if ((a62>>31)!=0) c=1; else c=0; a61=a61+c; a62=a62<<1; if ((a63>>31)!=0) c=1; else c=0; a62=a62+c; a63=a63<<1; } } shift=shift-1; if (flag==63) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=0; a59=0; a60=0; a61=0; a62=0; a63=a63<<shift; a63=a63>>shift; } else if (flag==62) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=0; a59=0; a60=0; a61=0; a62=a62<<shift; a62=a62>>shift; } else if (flag==61) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=0; a59=0; a60=0; a61=a61<<shift; a61=a61>>shift; } else if (flag==60) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=0; a59=0; a60=a60<<shift; a60=a60>>shift; } else if (flag==59) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=0; a59=a59<<shift; a59=a59>>shift; } else if (flag==58) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=0; a58=a58<<shift; a58=a58>>shift; } else if (flag==57) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=0; a57=a57<<shift; a57=a57>>shift; } else if (flag==56) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=0; a56=a56<<shift; a56=a56>>shift; } else if (flag==55) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=0; a55=a55<<shift; a55=a55>>shift; } else if (flag==54) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=0; a54=a54<<shift; a54=a54>>shift; } else if (flag==53) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=0; a53=a53<<shift; a53=a53>>shift; } else if (flag==52) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=0; a52=a52<<shift; a52=a52>>shift; } else if (flag==51) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=0; a51=a51<<shift; a51=a51>>shift; } else if (flag==50) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=0; a50=a50<<shift; a50=a50>>shift; } else if (flag==49) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=0; a49=a49<<shift; a49=a49>>shift; } else if (flag==48) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=0; a48=a48<<shift; a48=a48>>shift; } else if (flag==47) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=0; a47=a47<<shift; a47=a47>>shift; } else if (flag==46) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=0; a46=a46<<shift; a46=a46>>shift; } else if (flag==45) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=0; a45=a45<<shift; a45=a45>>shift; } else if (flag==44) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=0; a44=a44<<shift; a44=a44>>shift; } else if (flag==43) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=0; a43=a43<<shift; a43=a43>>shift; } else if (flag==42) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=0; a42=a42<<shift; a42=a42>>shift; } else if (flag==41) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=0; a41=a41<<shift; a41=a41>>shift; } else if (flag==40) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=0; a40=a40<<shift; a40=a40>>shift; } else if (flag==39) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=0; a39=a39<<shift; a39=a39>>shift; } else if (flag==38) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=0; a38=a38<<shift; a38=a38>>shift; } else if (flag==37) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=0; a37=a37<<shift; a37=a37>>shift; } else if (flag==36) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=0; a36=a36<<shift; a36=a36>>shift; } else if (flag==35) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=0; a35=a35<<shift; a35=a35>>shift; } else if (flag==34) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=0; a34=a34<<shift; a34=a34>>shift; } else if (flag==33) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=0; a33=a33<<shift; a33=a33>>shift; } else if (flag==32) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=0; a32=a32<<shift; a32=a32>>shift; } else if (flag==31) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=0; a31=a31<<shift; a31=a31>>shift; } else if (flag==30) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=0; a30=a30<<shift; a30=a30>>shift; } else if (flag==29) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=0; a29=a29<<shift; a29=a29>>shift; } else if (flag==28) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=0; a28=a28<<shift; a28=a28>>shift; } else if (flag==27) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=0; a27=a27<<shift; a27=a27>>shift; } else if (flag==26) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=0; a26=a26<<shift; a26=a26>>shift; } else if (flag==25) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=0; a25=a25<<shift; a25=a25>>shift; } else if (flag==24) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=0; a24=a24<<shift; a24=a24>>shift; } else if (flag==23) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=0; a23=a23<<shift; a23=a23>>shift; } else if (flag==22) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=0; a22=a22<<shift; a22=a22>>shift; } else if (flag==21) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=0; a21=a21<<shift; a21=a21>>shift; } else if (flag==20) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=0; a20=a20<<shift; a20=a20>>shift; } else if (flag==19) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=0; a19=a19<<shift; a19=a19>>shift; } else if (flag==18) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=0; a18=a18<<shift; a18=a18>>shift; } else if (flag==17) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=0; a17=a17<<shift; a17=a17>>shift; } else if (flag==16) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=0; a16=a16<<shift; a16=a16>>shift; } else if (flag==15) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=0; a15=a15<<shift; a15=a15>>shift; } else if (flag==14) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=0; a14=a14<<shift; a14=a14>>shift; } else if (flag==13) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=0; a13=a13<<shift; a13=a13>>shift; } else if (flag==12) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=0; a12=a12<<shift; a12=a12>>shift; } else if (flag==11) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=0; a11=a11<<shift; a11=a11>>shift; } else if (flag==10) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; a10=a10<<shift; a10=a10>>shift; } else if (flag==9) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=a9<<shift; a9=a9>>shift; } else if (flag==8) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=a8<<shift; a8=a8>>shift; } else if (flag==7) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=a7<<shift; a7=a7>>shift; } else if (flag==6) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=a6<<shift; a6=a6>>shift; } else if (flag==5) { a0=0; a1=0; a2=0; a3=0; a4=0; a5=a5<<shift; a5=a5>>shift; } else if (flag==4) { a0=0; a1=0; a2=0; a3=0; a4=a4<<shift; a4=a4>>shift; } else if (flag==3) { a0=0; a1=0; a2=0; a3=a3<<shift; a3=a3>>shift; } else { if (flag==2) { a0=0; a1=0; a2=a2<<shift; a2=a2>>shift; } else { if (flag==1) { a0=0; a1=a1<<shift; a1=a1>>shift; } else { a0=a0<<shift; a0=a0>>shift; } } } zskip: *quotient=a0; *(quotient+1)=a1; *(quotient+2)=a2; *(quotient+3)=a3; *(quotient+4)=a4; *(quotient+5)=a5; *(quotient+6)=a6; *(quotient+7)=a7; *(quotient+8)=a8; *(quotient+9)=a9; *(quotient+10)=a10; *(quotient+11)=a11; *(quotient+12)=a12; *(quotient+13)=a13; *(quotient+14)=a14; *(quotient+15)=a15; *(quotient+16)=a16; *(quotient+17)=a17; *(quotient+18)=a18; *(quotient+19)=a19; *(quotient+20)=a20; *(quotient+21)=a21; *(quotient+22)=a22; *(quotient+23)=a23; *(quotient+24)=a24; *(quotient+25)=a25; *(quotient+26)=a26; *(quotient+27)=a27; *(quotient+28)=a28; *(quotient+29)=a29; *(quotient+30)=a30; *(quotient+31)=a31; *(quotient+32)=a32; *(quotient+33)=a33; *(quotient+34)=a34; *(quotient+35)=a35; *(quotient+36)=a36; *(quotient+37)=a37; *(quotient+38)=a38; *(quotient+39)=a39; *(quotient+40)=a40; *(quotient+41)=a41; *(quotient+42)=a42; *(quotient+43)=a43; *(quotient+44)=a44; *(quotient+45)=a45; *(quotient+46)=a46; *(quotient+47)=a47; *(quotient+48)=a48; *(quotient+49)=a49; *(quotient+50)=a50; *(quotient+51)=a51; *(quotient+52)=a52; *(quotient+53)=a53; *(quotient+54)=a54; *(quotient+55)=a55; *(quotient+56)=a56; *(quotient+57)=a57; *(quotient+58)=a58; *(quotient+59)=a59; *(quotient+60)=a60; *(quotient+61)=a61; *(quotient+62)=a62; *(quotient+63)=a63; return; }