half00halfs00halfssxshalfxinc00incsxsincxzero0truezerosxfalsep00psxxbitsxbitIterx0bitIterxyifzeroxxincyiftruexypyiffalsexybitIterhalfxyhalfssxhalfxincsxincxbitsxbitIterx0bitIterxyincybitIterxyzeroxbitIterxyifzeroxxincyiftruexypyiffalsexyhalfxiffalsexybitIterhalfxytruebitsxbitIterx0falseiffalsexybitIterhalfxybitIterxyifzeroxxincytrueiffalsexyhalfxfalsehalfssxhalfxtrue1half1218if30162338bitIter261328bits1818p1210false00true00zero11010inc1110s1412half1110000iftruexypyfalsebitIterxyzeroxfalsebitIterxyincyfalseincsxincxtrue1inc1110if30102430bitIter201420bits1110p1410false00true00zero11214inc1110s1111half1210000