public final class com.carrotsearch.hppc.BitMixer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.carrotsearch.hppc.BitMixer
  super_class: java.lang.Object
{
  private static final int PHI_C32;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1640531527

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.carrotsearch.hppc.BitMixer this
         0: .line 7
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.carrotsearch.hppc.BitMixer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/carrotsearch/hppc/BitMixer;

  public static int mix(byte);
    descriptor: (B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte key
         0: .line 10
            iload 0 /* key */
            ldc -1640531527
            imul
            ireturn
        end local 0 // byte key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  B
    MethodParameters:
      Name  Flags
      key   

  public static int mix(byte, int);
    descriptor: (BI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte key
        start local 1 // int seed
         0: .line 11
            iload 0 /* key */
            iload 1 /* seed */
            ixor
            ldc -1640531527
            imul
            ireturn
        end local 1 // int seed
        end local 0 // byte key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  B
            0    1     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(short);
    descriptor: (S)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short key
         0: .line 13
            iload 0 /* key */
            invokestatic com.carrotsearch.hppc.BitMixer.mixPhi:(S)I
            ireturn
        end local 0 // short key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  S
    MethodParameters:
      Name  Flags
      key   

  public static int mix(short, int);
    descriptor: (SI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // short key
        start local 1 // int seed
         0: .line 14
            iload 0 /* key */
            iload 1 /* seed */
            ixor
            invokestatic com.carrotsearch.hppc.BitMixer.mixPhi:(I)I
            ireturn
        end local 1 // int seed
        end local 0 // short key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  S
            0    1     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char key
         0: .line 16
            iload 0 /* key */
            invokestatic com.carrotsearch.hppc.BitMixer.mixPhi:(C)I
            ireturn
        end local 0 // char key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  C
    MethodParameters:
      Name  Flags
      key   

  public static int mix(char, int);
    descriptor: (CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char key
        start local 1 // int seed
         0: .line 17
            iload 0 /* key */
            iload 1 /* seed */
            ixor
            invokestatic com.carrotsearch.hppc.BitMixer.mixPhi:(I)I
            ireturn
        end local 1 // int seed
        end local 0 // char key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  C
            0    1     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int key
         0: .line 20
            iload 0 /* key */
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
            ireturn
        end local 0 // int key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  I
    MethodParameters:
      Name  Flags
      key   

  public static int mix(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int key
        start local 1 // int seed
         0: .line 21
            iload 0 /* key */
            iload 1 /* seed */
            ixor
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
            ireturn
        end local 1 // int seed
        end local 0 // int key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  I
            0    1     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float key
         0: .line 23
            fload 0 /* key */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
            ireturn
        end local 0 // float key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  F
    MethodParameters:
      Name  Flags
      key   

  public static int mix(float, int);
    descriptor: (FI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float key
        start local 1 // int seed
         0: .line 24
            fload 0 /* key */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            iload 1 /* seed */
            ixor
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
            ireturn
        end local 1 // int seed
        end local 0 // float key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  F
            0    1     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double key
         0: .line 26
            dload 0 /* key */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            invokestatic com.carrotsearch.hppc.BitMixer.mix64:(J)J
            l2i
            ireturn
        end local 0 // double key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  D
    MethodParameters:
      Name  Flags
      key   

  public static int mix(double, int);
    descriptor: (DI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double key
        start local 2 // int seed
         0: .line 27
            dload 0 /* key */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            iload 2 /* seed */
            i2l
            lxor
            invokestatic com.carrotsearch.hppc.BitMixer.mix64:(J)J
            l2i
            ireturn
        end local 2 // int seed
        end local 0 // double key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  D
            0    1     2  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long key
         0: .line 29
            lload 0 /* key */
            invokestatic com.carrotsearch.hppc.BitMixer.mix64:(J)J
            l2i
            ireturn
        end local 0 // long key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  J
    MethodParameters:
      Name  Flags
      key   

  public static int mix(long, int);
    descriptor: (JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long key
        start local 2 // int seed
         0: .line 30
            lload 0 /* key */
            iload 2 /* seed */
            i2l
            lxor
            invokestatic com.carrotsearch.hppc.BitMixer.mix64:(J)J
            l2i
            ireturn
        end local 2 // int seed
        end local 0 // long key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  J
            0    1     2  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object key
         0: .line 32
            aload 0 /* key */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* key */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public static int mix(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // int seed
         0: .line 33
            aload 0 /* key */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* key */
            invokevirtual java.lang.Object.hashCode:()I
            iload 1 /* seed */
            ixor
            invokestatic com.carrotsearch.hppc.BitMixer.mix32:(I)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int seed
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   key  Ljava/lang/Object;
            0    3     1  seed  I
    MethodParameters:
      Name  Flags
      key   
      seed  

  public static int mix32(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int k
         0: .line 39
            iload 0 /* k */
            iload 0 /* k */
            bipush 16
            iushr
            ixor
            ldc -2048144789
            imul
            istore 0 /* k */
         1: .line 40
            iload 0 /* k */
            iload 0 /* k */
            bipush 13
            iushr
            ixor
            ldc -1028477387
            imul
            istore 0 /* k */
         2: .line 41
            iload 0 /* k */
            iload 0 /* k */
            bipush 16
            iushr
            ixor
            ireturn
        end local 0 // int k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     k  I
    MethodParameters:
      Name  Flags
      k     

  public static long mix64(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long z
         0: .line 54
            lload 0 /* z */
            lload 0 /* z */
            bipush 32
            lushr
            lxor
            ldc 5536775847593249645
            lmul
            lstore 0 /* z */
         1: .line 55
            lload 0 /* z */
            lload 0 /* z */
            bipush 29
            lushr
            lxor
            ldc -282946459933713943
            lmul
            lstore 0 /* z */
         2: .line 56
            lload 0 /* z */
            lload 0 /* z */
            bipush 32
            lushr
            lxor
            lreturn
        end local 0 // long z
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     z  J
    MethodParameters:
      Name  Flags
      z     

  public static int mixPhi(byte);
    descriptor: (B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte k
         0: .line 66
            iload 0 /* k */
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // byte k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  B
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // char k
         0: .line 67
            iload 0 /* k */
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // char k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  C
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(short);
    descriptor: (S)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // short k
         0: .line 68
            iload 0 /* k */
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // short k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  S
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int k
         0: .line 69
            iload 0 /* k */
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // int k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  I
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(float);
    descriptor: (F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // float k
         0: .line 70
            fload 0 /* k */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            ldc -1640531527
            imul
            istore 1 /* h */
        start local 1 // int h
         1: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // float k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  F
            1    2     1     h  I
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(double);
    descriptor: (D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // double k
         0: .line 71
            dload 0 /* k */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            ldc -7046029254386353131
            lmul
            lstore 2 /* h */
        start local 2 // long h
         1: lload 2 /* h */
            lload 2 /* h */
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 2 // long h
        end local 0 // double k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  D
            1    2     2     h  J
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // long k
         0: .line 72
            lload 0 /* k */
            ldc -7046029254386353131
            lmul
            lstore 2 /* h */
        start local 2 // long h
         1: lload 2 /* h */
            lload 2 /* h */
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 2 // long h
        end local 0 // long k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     k  J
            1    2     2     h  J
    MethodParameters:
      Name  Flags
      k     

  public static int mixPhi(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object k
         0: .line 73
            aload 0 /* k */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* k */
            invokevirtual java.lang.Object.hashCode:()I
            ldc -1640531527
            imul
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* h */
        start local 1 // int h
         3: iload 1 /* h */
            iload 1 /* h */
            bipush 16
            iushr
            ixor
            ireturn
        end local 1 // int h
        end local 0 // java.lang.Object k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     k  Ljava/lang/Object;
            3    4     1     h  I
    MethodParameters:
      Name  Flags
      k     
}
SourceFile: "BitMixer.java"