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 MAGIC0;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6148914691236517205

  private static final long MAGIC1;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3689348814741910323

  private static final long MAGIC2;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1085102592571150095

  private static final long MAGIC3;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 71777214294589695

  private static final long MAGIC4;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 281470681808895

  private static final long MAGIC5;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4294967295

  private static final long MAGIC6;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -6148914691236517206

  private static final long SHIFT0;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final long SHIFT1;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final long SHIFT2;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final long SHIFT3;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final long SHIFT4;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  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 24
            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 32
            lconst_0
            lstore 3 /* popCount */
        start local 3 // long popCount
         1: .line 33
            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 34
      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 33
            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 36
            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 42
            lconst_0
            lstore 4 /* popCount */
        start local 4 // long popCount
         1: .line 43
            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 44
      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 43
            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 46
            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 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
            lor
            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_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 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
            ldc -1
            lxor
            land
            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_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 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
            lxor
            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 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 81
            iinc 0 /* v */ -1
         1: .line 82
            iload 0 /* v */
            iload 0 /* v */
            iconst_1
            ishr
            ior
            istore 0 /* v */
         2: .line 83
            iload 0 /* v */
            iload 0 /* v */
            iconst_2
            ishr
            ior
            istore 0 /* v */
         3: .line 84
            iload 0 /* v */
            iload 0 /* v */
            iconst_4
            ishr
            ior
            istore 0 /* v */
         4: .line 85
            iload 0 /* v */
            iload 0 /* v */
            bipush 8
            ishr
            ior
            istore 0 /* v */
         5: .line 86
            iload 0 /* v */
            iload 0 /* v */
            bipush 16
            ishr
            ior
            istore 0 /* v */
         6: .line 87
            iinc 0 /* v */ 1
         7: .line 88
            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 93
            lload 0 /* v */
            lconst_1
            lsub
            lstore 0 /* v */
         1: .line 94
            lload 0 /* v */
            lload 0 /* v */
            iconst_1
            lshr
            lor
            lstore 0 /* v */
         2: .line 95
            lload 0 /* v */
            lload 0 /* v */
            iconst_2
            lshr
            lor
            lstore 0 /* v */
         3: .line 96
            lload 0 /* v */
            lload 0 /* v */
            iconst_4
            lshr
            lor
            lstore 0 /* v */
         4: .line 97
            lload 0 /* v */
            lload 0 /* v */
            bipush 8
            lshr
            lor
            lstore 0 /* v */
         5: .line 98
            lload 0 /* v */
            lload 0 /* v */
            bipush 16
            lshr
            lor
            lstore 0 /* v */
         6: .line 99
            lload 0 /* v */
            lload 0 /* v */
            bipush 32
            lshr
            lor
            lstore 0 /* v */
         7: .line 100
            lload 0 /* v */
            lconst_1
            ladd
            lstore 0 /* v */
         8: .line 101
            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=5, locals=6, args_size=2
        start local 0 // int even
        start local 1 // int odd
         0: .line 126
            ldc 4294967295
            iload 0 /* even */
            i2l
            land
            lstore 2 /* v1 */
        start local 2 // long v1
         1: .line 127
            ldc 4294967295
            iload 1 /* odd */
            i2l
            land
            lstore 4 /* v2 */
        start local 4 // long v2
         2: .line 128
            lload 2 /* v1 */
            lload 2 /* v1 */
            bipush 16
            lshl
            lor
            ldc 281470681808895
            land
            lstore 2 /* v1 */
         3: .line 129
            lload 2 /* v1 */
            lload 2 /* v1 */
            bipush 8
            lshl
            lor
            ldc 71777214294589695
            land
            lstore 2 /* v1 */
         4: .line 130
            lload 2 /* v1 */
            lload 2 /* v1 */
            iconst_4
            lshl
            lor
            ldc 1085102592571150095
            land
            lstore 2 /* v1 */
         5: .line 131
            lload 2 /* v1 */
            lload 2 /* v1 */
            iconst_2
            lshl
            lor
            ldc 3689348814741910323
            land
            lstore 2 /* v1 */
         6: .line 132
            lload 2 /* v1 */
            lload 2 /* v1 */
            iconst_1
            lshl
            lor
            ldc 6148914691236517205
            land
            lstore 2 /* v1 */
         7: .line 133
            lload 4 /* v2 */
            lload 4 /* v2 */
            bipush 16
            lshl
            lor
            ldc 281470681808895
            land
            lstore 4 /* v2 */
         8: .line 134
            lload 4 /* v2 */
            lload 4 /* v2 */
            bipush 8
            lshl
            lor
            ldc 71777214294589695
            land
            lstore 4 /* v2 */
         9: .line 135
            lload 4 /* v2 */
            lload 4 /* v2 */
            iconst_4
            lshl
            lor
            ldc 1085102592571150095
            land
            lstore 4 /* v2 */
        10: .line 136
            lload 4 /* v2 */
            lload 4 /* v2 */
            iconst_2
            lshl
            lor
            ldc 3689348814741910323
            land
            lstore 4 /* v2 */
        11: .line 137
            lload 4 /* v2 */
            lload 4 /* v2 */
            iconst_1
            lshl
            lor
            ldc 6148914691236517205
            land
            lstore 4 /* v2 */
        12: .line 139
            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=5, locals=2, args_size=1
        start local 0 // long b
         0: .line 146
            lload 0 /* b */
            ldc 6148914691236517205
            land
            lstore 0 /* b */
         1: .line 147
            lload 0 /* b */
            lload 0 /* b */
            iconst_1
            lushr
            lxor
            ldc 3689348814741910323
            land
            lstore 0 /* b */
         2: .line 148
            lload 0 /* b */
            lload 0 /* b */
            iconst_2
            lushr
            lxor
            ldc 1085102592571150095
            land
            lstore 0 /* b */
         3: .line 149
            lload 0 /* b */
            lload 0 /* b */
            iconst_4
            lushr
            lxor
            ldc 71777214294589695
            land
            lstore 0 /* b */
         4: .line 150
            lload 0 /* b */
            lload 0 /* b */
            bipush 8
            lushr
            lxor
            ldc 281470681808895
            land
            lstore 0 /* b */
         5: .line 151
            lload 0 /* b */
            lload 0 /* b */
            bipush 16
            lushr
            lxor
            ldc 4294967295
            land
            lstore 0 /* b */
         6: .line 152
            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 long flipFlop(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 159
            lload 0 /* b */
            ldc -6148914691236517206
            land
            iconst_1
            lushr
            lload 0 /* b */
            ldc 6148914691236517205
            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 164
            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 174
            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 179
            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 184
            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"