half00halfs00halfssxshalfxinc00incsxsincxzero0truezerosxfalsep00psxxbitsxbitIterx0bitIterxyifzeroxxincyiftruexypyiffalsexybitIterhalfxyhalfssxhalfxincsxincxbitsxbitIterx0bitIterxyincybitIterxyzeroxbitIterxyifzeroxxincyiftruexypyiffalsexyhalfxiffalsexybitIterhalfxytruebitsxbitIterx0falseiffalsexybitIterhalfxybitIterxyifzeroxxincytrue1if3121122030bitIter2110212false01true00zero1110inc112112s1211half11210000iffalsexybitIterhalfxyhalf00halfs00halfssxshalfxzero0truezerosxfalseiffalsexybitIterhalfxyfalseiffalsexyhalfxfalsehalfssxhalfxtruehalf11iftruexypyfalsebitIterxyzeroxfalsebitIterxyincyfalseincsxincxtrueinc11