naive implementation of #select long , int , using long #numberoftrailingzeros repetitively.works relatively fast for low ranks . concode_field_sep long L9_L concode_elem_sep long L16_L concode_elem_sep long H8_L concode_elem_sep long L8_L concode_elem_sep long H16_L concode_field_sep int select concode_elem_sep long notEquals0_8 concode_elem_sep int bitCount concode_elem_sep long smallerUpTo7_8 concode_elem_sep long smalleru_8 concode_elem_sep long smallerUpto15_16
int function ( long arg0 , int arg1 ) { assert arg1 >= 1 ; int loc0 = - 1 ; while ( ( arg0 != 0L ) && ( arg1 > 0 ) ) { int loc1 = Long . numberOfTrailingZeros ( arg0 ) ; arg0 >>>= ( loc1 + 1 ) ; loc0 += ( loc1 + 1 ) ; arg1 -= 1 ; } int loc2 = ( arg1 > 0 ) ? 72 : loc0 ; return loc2 ; }