public final class org.apache.lucene.util.BitUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.util.BitUtil
  super_class: java.lang.Object
{
  private static final long[] MAGIC;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short[] SHIFT;
    descriptor: [S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 25
            bipush 7
            newarray 11
            dup
            iconst_0
         1: .line 26
            ldc 6148914691236517205
            lastore
            dup
            iconst_1
            ldc 3689348814741910323
            lastore
            dup
            iconst_2
         2: .line 27
            ldc 1085102592571150095
            lastore
            dup
            iconst_3
            ldc 71777214294589695
            lastore
            dup
            iconst_4
         3: .line 28
            ldc 281470681808895
            lastore
            dup
            iconst_5
            ldc 4294967295
            lastore
            dup
            bipush 6
         4: .line 29
            ldc -6148914691236517206
            lastore
         5: .line 25
            putstatic org.apache.lucene.util.BitUtil.MAGIC:[J
         6: .line 32
            iconst_5
            newarray 9
            dup
            iconst_0
            iconst_1
            sastore
            dup
            iconst_1
            iconst_2
            sastore
            dup
            iconst_2
            iconst_4
            sastore
            dup
            iconst_3
            bipush 8
            sastore
            dup
            iconst_4
            bipush 16
            sastore
            putstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.BitUtil this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.util.BitUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/BitUtil;

  public static long pop_array(long[], int, int);
    descriptor: ([JII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // long[] arr
        start local 1 // int wordOffset
        start local 2 // int numWords
         0: .line 42
            lconst_0
            lstore 3 /* popCount */
        start local 3 // long popCount
         1: .line 43
            iload 1 /* wordOffset */
            istore 5 /* i */
        start local 5 // int i
         2: iload 1 /* wordOffset */
            iload 2 /* numWords */
            iadd
            istore 6 /* end */
        start local 6 // int end
         3: goto 6
         4: .line 44
      StackMap locals: long int int
      StackMap stack:
            lload 3 /* popCount */
            aload 0 /* arr */
            iload 5 /* i */
            laload
            invokestatic java.lang.Long.bitCount:(J)I
            i2l
            ladd
            lstore 3 /* popCount */
         5: .line 43
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 6 /* end */
            if_icmplt 4
        end local 6 // int end
        end local 5 // int i
         7: .line 46
            lload 3 /* popCount */
            lreturn
        end local 3 // long popCount
        end local 2 // int numWords
        end local 1 // int wordOffset
        end local 0 // long[] arr
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0         arr  [J
            0    8     1  wordOffset  I
            0    8     2    numWords  I
            1    8     3    popCount  J
            2    7     5           i  I
            3    7     6         end  I
    MethodParameters:
            Name  Flags
      arr         
      wordOffset  
      numWords    

  public static long pop_intersect(long[], long[], int, int);
    descriptor: ([J[JII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // long[] arr1
        start local 1 // long[] arr2
        start local 2 // int wordOffset
        start local 3 // int numWords
         0: .line 52
            lconst_0
            lstore 4 /* popCount */
        start local 4 // long popCount
         1: .line 53
            iload 2 /* wordOffset */
            istore 6 /* i */
        start local 6 // int i
         2: iload 2 /* wordOffset */
            iload 3 /* numWords */
            iadd
            istore 7 /* end */
        start local 7 // int end
         3: goto 6
         4: .line 54
      StackMap locals: long int int
      StackMap stack:
            lload 4 /* popCount */
            aload 0 /* arr1 */
            iload 6 /* i */
            laload
            aload 1 /* arr2 */
            iload 6 /* i */
            laload
            land
            invokestatic java.lang.Long.bitCount:(J)I
            i2l
            ladd
            lstore 4 /* popCount */
         5: .line 53
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 7 /* end */
            if_icmplt 4
        end local 7 // int end
        end local 6 // int i
         7: .line 56
            lload 4 /* popCount */
            lreturn
        end local 4 // long popCount
        end local 3 // int numWords
        end local 2 // int wordOffset
        end local 1 // long[] arr2
        end local 0 // long[] arr1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        arr1  [J
            0    8     1        arr2  [J
            0    8     2  wordOffset  I
            0    8     3    numWords  I
            1    8     4    popCount  J
            2    7     6           i  I
            3    7     7         end  I
    MethodParameters:
            Name  Flags
      arr1        
      arr2        
      wordOffset  
      numWords    

  public static long pop_union(long[], long[], int, int);
    descriptor: ([J[JII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // long[] arr1
        start local 1 // long[] arr2
        start local 2 // int wordOffset
        start local 3 // int numWords
         0: .line 62
            lconst_0
            lstore 4 /* popCount */
        start local 4 // long popCount
         1: .line 63
            iload 2 /* wordOffset */
            istore 6 /* i */
        start local 6 // int i
         2: iload 2 /* wordOffset */
            iload 3 /* numWords */
            iadd
            istore 7 /* end */
        start local 7 // int end
         3: goto 6
         4: .line 64
      StackMap locals: long int int
      StackMap stack:
            lload 4 /* popCount */
            aload 0 /* arr1 */
            iload 6 /* i */
            laload
            aload 1 /* arr2 */
            iload 6 /* i */
            laload
            lor
            invokestatic java.lang.Long.bitCount:(J)I
            i2l
            ladd
            lstore 4 /* popCount */
         5: .line 63
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 7 /* end */
            if_icmplt 4
        end local 7 // int end
        end local 6 // int i
         7: .line 66
            lload 4 /* popCount */
            lreturn
        end local 4 // long popCount
        end local 3 // int numWords
        end local 2 // int wordOffset
        end local 1 // long[] arr2
        end local 0 // long[] arr1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        arr1  [J
            0    8     1        arr2  [J
            0    8     2  wordOffset  I
            0    8     3    numWords  I
            1    8     4    popCount  J
            2    7     6           i  I
            3    7     7         end  I
    MethodParameters:
            Name  Flags
      arr1        
      arr2        
      wordOffset  
      numWords    

  public static long pop_andnot(long[], long[], int, int);
    descriptor: ([J[JII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // long[] arr1
        start local 1 // long[] arr2
        start local 2 // int wordOffset
        start local 3 // int numWords
         0: .line 72
            lconst_0
            lstore 4 /* popCount */
        start local 4 // long popCount
         1: .line 73
            iload 2 /* wordOffset */
            istore 6 /* i */
        start local 6 // int i
         2: iload 2 /* wordOffset */
            iload 3 /* numWords */
            iadd
            istore 7 /* end */
        start local 7 // int end
         3: goto 6
         4: .line 74
      StackMap locals: long int int
      StackMap stack:
            lload 4 /* popCount */
            aload 0 /* arr1 */
            iload 6 /* i */
            laload
            aload 1 /* arr2 */
            iload 6 /* i */
            laload
            ldc -1
            lxor
            land
            invokestatic java.lang.Long.bitCount:(J)I
            i2l
            ladd
            lstore 4 /* popCount */
         5: .line 73
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 7 /* end */
            if_icmplt 4
        end local 7 // int end
        end local 6 // int i
         7: .line 76
            lload 4 /* popCount */
            lreturn
        end local 4 // long popCount
        end local 3 // int numWords
        end local 2 // int wordOffset
        end local 1 // long[] arr2
        end local 0 // long[] arr1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        arr1  [J
            0    8     1        arr2  [J
            0    8     2  wordOffset  I
            0    8     3    numWords  I
            1    8     4    popCount  J
            2    7     6           i  I
            3    7     7         end  I
    MethodParameters:
            Name  Flags
      arr1        
      arr2        
      wordOffset  
      numWords    

  public static long pop_xor(long[], long[], int, int);
    descriptor: ([J[JII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // long[] arr1
        start local 1 // long[] arr2
        start local 2 // int wordOffset
        start local 3 // int numWords
         0: .line 82
            lconst_0
            lstore 4 /* popCount */
        start local 4 // long popCount
         1: .line 83
            iload 2 /* wordOffset */
            istore 6 /* i */
        start local 6 // int i
         2: iload 2 /* wordOffset */
            iload 3 /* numWords */
            iadd
            istore 7 /* end */
        start local 7 // int end
         3: goto 6
         4: .line 84
      StackMap locals: long int int
      StackMap stack:
            lload 4 /* popCount */
            aload 0 /* arr1 */
            iload 6 /* i */
            laload
            aload 1 /* arr2 */
            iload 6 /* i */
            laload
            lxor
            invokestatic java.lang.Long.bitCount:(J)I
            i2l
            ladd
            lstore 4 /* popCount */
         5: .line 83
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 7 /* end */
            if_icmplt 4
        end local 7 // int end
        end local 6 // int i
         7: .line 86
            lload 4 /* popCount */
            lreturn
        end local 4 // long popCount
        end local 3 // int numWords
        end local 2 // int wordOffset
        end local 1 // long[] arr2
        end local 0 // long[] arr1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        arr1  [J
            0    8     1        arr2  [J
            0    8     2  wordOffset  I
            0    8     3    numWords  I
            1    8     4    popCount  J
            2    7     6           i  I
            3    7     7         end  I
    MethodParameters:
            Name  Flags
      arr1        
      arr2        
      wordOffset  
      numWords    

  public static int nextHighestPowerOfTwo(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int v
         0: .line 91
            iinc 0 /* v */ -1
         1: .line 92
            iload 0 /* v */
            iload 0 /* v */
            iconst_1
            ishr
            ior
            istore 0 /* v */
         2: .line 93
            iload 0 /* v */
            iload 0 /* v */
            iconst_2
            ishr
            ior
            istore 0 /* v */
         3: .line 94
            iload 0 /* v */
            iload 0 /* v */
            iconst_4
            ishr
            ior
            istore 0 /* v */
         4: .line 95
            iload 0 /* v */
            iload 0 /* v */
            bipush 8
            ishr
            ior
            istore 0 /* v */
         5: .line 96
            iload 0 /* v */
            iload 0 /* v */
            bipush 16
            ishr
            ior
            istore 0 /* v */
         6: .line 97
            iinc 0 /* v */ 1
         7: .line 98
            iload 0 /* v */
            ireturn
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     v  I
    MethodParameters:
      Name  Flags
      v     

  public static long nextHighestPowerOfTwo(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long v
         0: .line 103
            lload 0 /* v */
            lconst_1
            lsub
            lstore 0 /* v */
         1: .line 104
            lload 0 /* v */
            lload 0 /* v */
            iconst_1
            lshr
            lor
            lstore 0 /* v */
         2: .line 105
            lload 0 /* v */
            lload 0 /* v */
            iconst_2
            lshr
            lor
            lstore 0 /* v */
         3: .line 106
            lload 0 /* v */
            lload 0 /* v */
            iconst_4
            lshr
            lor
            lstore 0 /* v */
         4: .line 107
            lload 0 /* v */
            lload 0 /* v */
            bipush 8
            lshr
            lor
            lstore 0 /* v */
         5: .line 108
            lload 0 /* v */
            lload 0 /* v */
            bipush 16
            lshr
            lor
            lstore 0 /* v */
         6: .line 109
            lload 0 /* v */
            lload 0 /* v */
            bipush 32
            lshr
            lor
            lstore 0 /* v */
         7: .line 110
            lload 0 /* v */
            lconst_1
            ladd
            lstore 0 /* v */
         8: .line 111
            lload 0 /* v */
            lreturn
        end local 0 // long v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     v  J
    MethodParameters:
      Name  Flags
      v     

  public static long interleave(int, int);
    descriptor: (II)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // int even
        start local 1 // int odd
         0: .line 120
            ldc 4294967295
            iload 0 /* even */
            i2l
            land
            lstore 2 /* v1 */
        start local 2 // long v1
         1: .line 121
            ldc 4294967295
            iload 1 /* odd */
            i2l
            land
            lstore 4 /* v2 */
        start local 4 // long v2
         2: .line 122
            lload 2 /* v1 */
            lload 2 /* v1 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_4
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_4
            laload
            land
            lstore 2 /* v1 */
         3: .line 123
            lload 2 /* v1 */
            lload 2 /* v1 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_3
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_3
            laload
            land
            lstore 2 /* v1 */
         4: .line 124
            lload 2 /* v1 */
            lload 2 /* v1 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_2
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_2
            laload
            land
            lstore 2 /* v1 */
         5: .line 125
            lload 2 /* v1 */
            lload 2 /* v1 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_1
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_1
            laload
            land
            lstore 2 /* v1 */
         6: .line 126
            lload 2 /* v1 */
            lload 2 /* v1 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_0
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_0
            laload
            land
            lstore 2 /* v1 */
         7: .line 127
            lload 4 /* v2 */
            lload 4 /* v2 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_4
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_4
            laload
            land
            lstore 4 /* v2 */
         8: .line 128
            lload 4 /* v2 */
            lload 4 /* v2 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_3
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_3
            laload
            land
            lstore 4 /* v2 */
         9: .line 129
            lload 4 /* v2 */
            lload 4 /* v2 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_2
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_2
            laload
            land
            lstore 4 /* v2 */
        10: .line 130
            lload 4 /* v2 */
            lload 4 /* v2 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_1
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_1
            laload
            land
            lstore 4 /* v2 */
        11: .line 131
            lload 4 /* v2 */
            lload 4 /* v2 */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_0
            saload
            lshl
            lor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_0
            laload
            land
            lstore 4 /* v2 */
        12: .line 133
            lload 4 /* v2 */
            iconst_1
            lshl
            lload 2 /* v1 */
            lor
            lreturn
        end local 4 // long v2
        end local 2 // long v1
        end local 1 // int odd
        end local 0 // int even
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  even  I
            0   13     1   odd  I
            1   13     2    v1  J
            2   13     4    v2  J
    MethodParameters:
      Name  Flags
      even  
      odd   

  public static long deinterleave(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long b
         0: .line 140
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_0
            laload
            land
            lstore 0 /* b */
         1: .line 141
            lload 0 /* b */
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_0
            saload
            lushr
            lxor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_1
            laload
            land
            lstore 0 /* b */
         2: .line 142
            lload 0 /* b */
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_1
            saload
            lushr
            lxor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_2
            laload
            land
            lstore 0 /* b */
         3: .line 143
            lload 0 /* b */
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_2
            saload
            lushr
            lxor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_3
            laload
            land
            lstore 0 /* b */
         4: .line 144
            lload 0 /* b */
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_3
            saload
            lushr
            lxor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_4
            laload
            land
            lstore 0 /* b */
         5: .line 145
            lload 0 /* b */
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.SHIFT:[S
            iconst_4
            saload
            lushr
            lxor
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_5
            laload
            land
            lstore 0 /* b */
         6: .line 146
            lload 0 /* b */
            lreturn
        end local 0 // long b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     b  J
    MethodParameters:
      Name  Flags
      b     

  public static final long flipFlop(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long b
         0: .line 153
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            bipush 6
            laload
            land
            iconst_1
            lushr
            lload 0 /* b */
            getstatic org.apache.lucene.util.BitUtil.MAGIC:[J
            iconst_0
            laload
            land
            iconst_1
            lshl
            lor
            lreturn
        end local 0 // long b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     b  J
    MethodParameters:
      Name  Flags
      b     final

  public static int zigZagEncode(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int i
         0: .line 158
            iload 0 /* i */
            bipush 31
            ishr
            iload 0 /* i */
            iconst_1
            ishl
            ixor
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public static long zigZagEncode(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long l
         0: .line 168
            lload 0 /* l */
            bipush 63
            lshr
            lload 0 /* l */
            iconst_1
            lshl
            lxor
            lreturn
        end local 0 // long l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  J
    MethodParameters:
      Name  Flags
      l     

  public static int zigZagDecode(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int i
         0: .line 173
            iload 0 /* i */
            iconst_1
            iushr
            iload 0 /* i */
            iconst_1
            iand
            ineg
            ixor
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public static long zigZagDecode(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long l
         0: .line 178
            lload 0 /* l */
            iconst_1
            lushr
            lload 0 /* l */
            lconst_1
            land
            lneg
            lxor
            lreturn
        end local 0 // long l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  J
    MethodParameters:
      Name  Flags
      l     
}
SourceFile: "BitUtil.java"