public class org.apache.lucene.codecs.bloom.FuzzySet implements org.apache.lucene.util.Accountable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.codecs.bloom.FuzzySet
  super_class: java.lang.Object
{
  public static final int VERSION_SPI;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int VERSION_START;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int VERSION_CURRENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private org.apache.lucene.codecs.bloom.HashFunction hashFunction;
    descriptor: Lorg/apache/lucene/codecs/bloom/HashFunction;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.lucene.util.FixedBitSet filter;
    descriptor: Lorg/apache/lucene/util/FixedBitSet;
    flags: (0x0002) ACC_PRIVATE

  private int bloomSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final int[] usableBitSetSizes;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 50
            ldc Lorg/apache/lucene/codecs/bloom/FuzzySet;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.codecs.bloom.FuzzySet.$assertionsDisabled:Z
         3: .line 87
            bipush 30
            newarray 10
            putstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
         4: .line 88
            iconst_1
            istore 0 /* mask */
        start local 0 // int mask
         5: .line 89
            iload 0 /* mask */
            istore 1 /* size */
        start local 1 // int size
         6: .line 90
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 91
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* size */
            iconst_1
            ishl
            iload 0 /* mask */
            ior
            istore 1 /* size */
         9: .line 92
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iload 1 /* size */
            iastore
        10: .line 90
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            arraylength
            if_icmplt 8
        end local 2 // int i
        end local 1 // int size
        end local 0 // int mask
        12: .line 94
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5   12     0  mask  I
            6   12     1  size  I
            7   12     2     i  I

  public static org.apache.lucene.codecs.bloom.HashFunction hashFunctionForVersion(int);
    descriptor: (I)Lorg/apache/lucene/codecs/bloom/HashFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int version
         0: .line 57
            iload 0 /* version */
            iconst_1
            if_icmpge 2
         1: .line 58
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is too old, expected at least "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 59
      StackMap locals:
      StackMap stack:
            iload 0 /* version */
            iconst_2
            if_icmple 4
         3: .line 60
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is too new, expected at most "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_2
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 62
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.codecs.bloom.MurmurHash2.INSTANCE:Lorg/apache/lucene/codecs/bloom/MurmurHash2;
            areturn
        end local 0 // int version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  version  I
    MethodParameters:
         Name  Flags
      version  

  public static int getNearestSetSize(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int maxNumberOfBits
         0: .line 103
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iconst_0
            iaload
            istore 1 /* result */
        start local 1 // int result
         1: .line 104
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 105
      StackMap locals: int int
      StackMap stack:
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iaload
            iload 0 /* maxNumberOfBits */
            if_icmpgt 5
         4: .line 107
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iaload
            istore 1 /* result */
         5: .line 104
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 110
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // int maxNumberOfBits
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  maxNumberOfBits  I
            1    8     1           result  I
            2    7     2                i  I
    MethodParameters:
                 Name  Flags
      maxNumberOfBits  

  public static int getNearestSetSize(int, float);
    descriptor: (IF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // int maxNumberOfValuesExpected
        start local 1 // float desiredSaturation
         0: .line 123
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 8
         2: .line 124
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iaload
            i2f
            fload 1 /* desiredSaturation */
            fmul
            f2i
            istore 3 /* numSetBitsAtDesiredSaturation */
        start local 3 // int numSetBitsAtDesiredSaturation
         3: .line 126
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iaload
            iload 3 /* numSetBitsAtDesiredSaturation */
         4: .line 125
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.getEstimatedNumberUniqueValuesAllowingForCollisions:(II)I
            istore 4 /* estimatedNumUniqueValues */
        start local 4 // int estimatedNumUniqueValues
         5: .line 127
            iload 4 /* estimatedNumUniqueValues */
            iload 0 /* maxNumberOfValuesExpected */
            if_icmple 7
         6: .line 128
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 2 /* i */
            iaload
            ireturn
        end local 4 // int estimatedNumUniqueValues
        end local 3 // int numSetBitsAtDesiredSaturation
         7: .line 123
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            arraylength
            if_icmplt 2
        end local 2 // int i
         9: .line 131
            iconst_m1
            ireturn
        end local 1 // float desiredSaturation
        end local 0 // int maxNumberOfValuesExpected
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   10     0      maxNumberOfValuesExpected  I
            0   10     1              desiredSaturation  F
            1    9     2                              i  I
            3    7     3  numSetBitsAtDesiredSaturation  I
            5    7     4       estimatedNumUniqueValues  I
    MethodParameters:
                           Name  Flags
      maxNumberOfValuesExpected  
      desiredSaturation          

  public static org.apache.lucene.codecs.bloom.FuzzySet createSetBasedOnMaxMemory(int);
    descriptor: (I)Lorg/apache/lucene/codecs/bloom/FuzzySet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // int maxNumBytes
         0: .line 136
            iload 0 /* maxNumBytes */
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.getNearestSetSize:(I)I
            istore 1 /* setSize */
        start local 1 // int setSize
         1: .line 137
            new org.apache.lucene.codecs.bloom.FuzzySet
            dup
            new org.apache.lucene.util.FixedBitSet
            dup
            iload 1 /* setSize */
            iconst_1
            iadd
            invokespecial org.apache.lucene.util.FixedBitSet.<init>:(I)V
            iload 1 /* setSize */
            iconst_2
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.hashFunctionForVersion:(I)Lorg/apache/lucene/codecs/bloom/HashFunction;
            invokespecial org.apache.lucene.codecs.bloom.FuzzySet.<init>:(Lorg/apache/lucene/util/FixedBitSet;ILorg/apache/lucene/codecs/bloom/HashFunction;)V
            areturn
        end local 1 // int setSize
        end local 0 // int maxNumBytes
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  maxNumBytes  I
            1    2     1      setSize  I
    MethodParameters:
             Name  Flags
      maxNumBytes  

  public static org.apache.lucene.codecs.bloom.FuzzySet createSetBasedOnQuality(int, float);
    descriptor: (IF)Lorg/apache/lucene/codecs/bloom/FuzzySet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // int maxNumUniqueValues
        start local 1 // float desiredMaxSaturation
         0: .line 142
            iload 0 /* maxNumUniqueValues */
            fload 1 /* desiredMaxSaturation */
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.getNearestSetSize:(IF)I
            istore 2 /* setSize */
        start local 2 // int setSize
         1: .line 143
            new org.apache.lucene.codecs.bloom.FuzzySet
            dup
            new org.apache.lucene.util.FixedBitSet
            dup
            iload 2 /* setSize */
            iconst_1
            iadd
            invokespecial org.apache.lucene.util.FixedBitSet.<init>:(I)V
            iload 2 /* setSize */
            iconst_2
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.hashFunctionForVersion:(I)Lorg/apache/lucene/codecs/bloom/HashFunction;
            invokespecial org.apache.lucene.codecs.bloom.FuzzySet.<init>:(Lorg/apache/lucene/util/FixedBitSet;ILorg/apache/lucene/codecs/bloom/HashFunction;)V
            areturn
        end local 2 // int setSize
        end local 1 // float desiredMaxSaturation
        end local 0 // int maxNumUniqueValues
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0    maxNumUniqueValues  I
            0    2     1  desiredMaxSaturation  F
            1    2     2               setSize  I
    MethodParameters:
                      Name  Flags
      maxNumUniqueValues    
      desiredMaxSaturation  

  private void <init>(org.apache.lucene.util.FixedBitSet, int, org.apache.lucene.codecs.bloom.HashFunction);
    descriptor: (Lorg/apache/lucene/util/FixedBitSet;ILorg/apache/lucene/codecs/bloom/HashFunction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // org.apache.lucene.util.FixedBitSet filter
        start local 2 // int bloomSize
        start local 3 // org.apache.lucene.codecs.bloom.HashFunction hashFunction
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 151
            aload 0 /* this */
            aload 1 /* filter */
            putfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
         2: .line 152
            aload 0 /* this */
            iload 2 /* bloomSize */
            putfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
         3: .line 153
            aload 0 /* this */
            aload 3 /* hashFunction */
            putfield org.apache.lucene.codecs.bloom.FuzzySet.hashFunction:Lorg/apache/lucene/codecs/bloom/HashFunction;
         4: .line 154
            return
        end local 3 // org.apache.lucene.codecs.bloom.HashFunction hashFunction
        end local 2 // int bloomSize
        end local 1 // org.apache.lucene.util.FixedBitSet filter
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0    5     1        filter  Lorg/apache/lucene/util/FixedBitSet;
            0    5     2     bloomSize  I
            0    5     3  hashFunction  Lorg/apache/lucene/codecs/bloom/HashFunction;
    MethodParameters:
              Name  Flags
      filter        
      bloomSize     
      hashFunction  

  public org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult contains(org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/codecs/bloom/FuzzySet$ContainsResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // org.apache.lucene.util.BytesRef value
         0: .line 162
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.hashFunction:Lorg/apache/lucene/codecs/bloom/HashFunction;
            aload 1 /* value */
            invokevirtual org.apache.lucene.codecs.bloom.HashFunction.hash:(Lorg/apache/lucene/util/BytesRef;)I
            istore 2 /* hash */
        start local 2 // int hash
         1: .line 163
            iload 2 /* hash */
            ifge 3
         2: .line 164
            iload 2 /* hash */
            iconst_m1
            imul
            istore 2 /* hash */
         3: .line 166
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* hash */
            invokevirtual org.apache.lucene.codecs.bloom.FuzzySet.mayContainValue:(I)Lorg/apache/lucene/codecs/bloom/FuzzySet$ContainsResult;
            areturn
        end local 2 // int hash
        end local 1 // org.apache.lucene.util.BytesRef value
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0    4     1  value  Lorg/apache/lucene/util/BytesRef;
            1    4     2   hash  I
    MethodParameters:
       Name  Flags
      value  

  public void serialize(org.apache.lucene.store.DataOutput);
    descriptor: (Lorg/apache/lucene/store/DataOutput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // org.apache.lucene.store.DataOutput out
         0: .line 189
            aload 1 /* out */
            iconst_2
            invokevirtual org.apache.lucene.store.DataOutput.writeInt:(I)V
         1: .line 190
            aload 1 /* out */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            invokevirtual org.apache.lucene.store.DataOutput.writeInt:(I)V
         2: .line 191
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            invokevirtual org.apache.lucene.util.FixedBitSet.getBits:()[J
            astore 2 /* bits */
        start local 2 // long[] bits
         3: .line 192
            aload 1 /* out */
            aload 2 /* bits */
            arraylength
            invokevirtual org.apache.lucene.store.DataOutput.writeInt:(I)V
         4: .line 193
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 196
      StackMap locals: long[] int
      StackMap stack:
            aload 1 /* out */
            aload 2 /* bits */
            iload 3 /* i */
            laload
            invokevirtual org.apache.lucene.store.DataOutput.writeLong:(J)V
         7: .line 193
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* bits */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 198
            return
        end local 2 // long[] bits
        end local 1 // org.apache.lucene.store.DataOutput out
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0   10     1   out  Lorg/apache/lucene/store/DataOutput;
            3   10     2  bits  [J
            5    9     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public static org.apache.lucene.codecs.bloom.FuzzySet deserialize(org.apache.lucene.store.DataInput);
    descriptor: (Lorg/apache/lucene/store/DataInput;)Lorg/apache/lucene/codecs/bloom/FuzzySet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.apache.lucene.store.DataInput in
         0: .line 201
            aload 0 /* in */
            invokevirtual org.apache.lucene.store.DataInput.readInt:()I
            istore 1 /* version */
        start local 1 // int version
         1: .line 202
            iload 1 /* version */
            iconst_1
            if_icmpne 3
         2: .line 203
            aload 0 /* in */
            invokevirtual org.apache.lucene.store.DataInput.readString:()Ljava/lang/String;
            pop
         3: .line 205
      StackMap locals: int
      StackMap stack:
            iload 1 /* version */
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.hashFunctionForVersion:(I)Lorg/apache/lucene/codecs/bloom/HashFunction;
            astore 2 /* hashFunction */
        start local 2 // org.apache.lucene.codecs.bloom.HashFunction hashFunction
         4: .line 206
            aload 0 /* in */
            invokevirtual org.apache.lucene.store.DataInput.readInt:()I
            istore 3 /* bloomSize */
        start local 3 // int bloomSize
         5: .line 207
            aload 0 /* in */
            invokevirtual org.apache.lucene.store.DataInput.readInt:()I
            istore 4 /* numLongs */
        start local 4 // int numLongs
         6: .line 208
            iload 4 /* numLongs */
            newarray 11
            astore 5 /* longs */
        start local 5 // long[] longs
         7: .line 209
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 11
         9: .line 210
      StackMap locals: org.apache.lucene.store.DataInput int org.apache.lucene.codecs.bloom.HashFunction int int long[] int
      StackMap stack:
            aload 5 /* longs */
            iload 6 /* i */
            aload 0 /* in */
            invokevirtual org.apache.lucene.store.DataInput.readLong:()J
            lastore
        10: .line 209
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 4 /* numLongs */
            if_icmplt 9
        end local 6 // int i
        12: .line 212
            new org.apache.lucene.util.FixedBitSet
            dup
            aload 5 /* longs */
            iload 3 /* bloomSize */
            iconst_1
            iadd
            invokespecial org.apache.lucene.util.FixedBitSet.<init>:([JI)V
            astore 6 /* bits */
        start local 6 // org.apache.lucene.util.FixedBitSet bits
        13: .line 213
            new org.apache.lucene.codecs.bloom.FuzzySet
            dup
            aload 6 /* bits */
            iload 3 /* bloomSize */
            aload 2 /* hashFunction */
            invokespecial org.apache.lucene.codecs.bloom.FuzzySet.<init>:(Lorg/apache/lucene/util/FixedBitSet;ILorg/apache/lucene/codecs/bloom/HashFunction;)V
            areturn
        end local 6 // org.apache.lucene.util.FixedBitSet bits
        end local 5 // long[] longs
        end local 4 // int numLongs
        end local 3 // int bloomSize
        end local 2 // org.apache.lucene.codecs.bloom.HashFunction hashFunction
        end local 1 // int version
        end local 0 // org.apache.lucene.store.DataInput in
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0            in  Lorg/apache/lucene/store/DataInput;
            1   14     1       version  I
            4   14     2  hashFunction  Lorg/apache/lucene/codecs/bloom/HashFunction;
            5   14     3     bloomSize  I
            6   14     4      numLongs  I
            7   14     5         longs  [J
            8   12     6             i  I
           13   14     6          bits  Lorg/apache/lucene/util/FixedBitSet;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult mayContainValue(int);
    descriptor: (I)Lorg/apache/lucene/codecs/bloom/FuzzySet$ContainsResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // int positiveHash
         0: .line 217
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.$assertionsDisabled:Z
            ifne 1
            iload 1 /* positiveHash */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 219
      StackMap locals:
      StackMap stack:
            iload 1 /* positiveHash */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            iand
            istore 2 /* pos */
        start local 2 // int pos
         2: .line 220
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            iload 2 /* pos */
            invokevirtual org.apache.lucene.util.FixedBitSet.get:(I)Z
            ifeq 4
         3: .line 222
            getstatic org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult.MAYBE:Lorg/apache/lucene/codecs/bloom/FuzzySet$ContainsResult;
            areturn
         4: .line 225
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult.NO:Lorg/apache/lucene/codecs/bloom/FuzzySet$ContainsResult;
            areturn
        end local 2 // int pos
        end local 1 // int positiveHash
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0    5     1  positiveHash  I
            2    5     2           pos  I
    MethodParameters:
              Name  Flags
      positiveHash  

  public void addValue(org.apache.lucene.util.BytesRef);
    descriptor: (Lorg/apache/lucene/util/BytesRef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // org.apache.lucene.util.BytesRef value
         0: .line 235
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.hashFunction:Lorg/apache/lucene/codecs/bloom/HashFunction;
            aload 1 /* value */
            invokevirtual org.apache.lucene.codecs.bloom.HashFunction.hash:(Lorg/apache/lucene/util/BytesRef;)I
            istore 2 /* hash */
        start local 2 // int hash
         1: .line 236
            iload 2 /* hash */
            ifge 3
         2: .line 237
            iload 2 /* hash */
            iconst_m1
            imul
            istore 2 /* hash */
         3: .line 240
      StackMap locals: int
      StackMap stack:
            iload 2 /* hash */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            iand
            istore 3 /* bloomPos */
        start local 3 // int bloomPos
         4: .line 241
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            iload 3 /* bloomPos */
            invokevirtual org.apache.lucene.util.FixedBitSet.set:(I)V
         5: .line 242
            return
        end local 3 // int bloomPos
        end local 2 // int hash
        end local 1 // org.apache.lucene.util.BytesRef value
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0    6     1     value  Lorg/apache/lucene/util/BytesRef;
            1    6     2      hash  I
            4    6     3  bloomPos  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  public org.apache.lucene.codecs.bloom.FuzzySet downsize(float);
    descriptor: (F)Lorg/apache/lucene/codecs/bloom/FuzzySet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
        start local 1 // float targetMaxSaturation
         0: .line 253
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            invokevirtual org.apache.lucene.util.FixedBitSet.cardinality:()I
            istore 2 /* numBitsSet */
        start local 2 // int numBitsSet
         1: .line 254
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            astore 3 /* rightSizedBitSet */
        start local 3 // org.apache.lucene.util.FixedBitSet rightSizedBitSet
         2: .line 255
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            istore 4 /* rightSizedBitSetSize */
        start local 4 // int rightSizedBitSetSize
         3: .line 257
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 13
         5: .line 258
      StackMap locals: org.apache.lucene.codecs.bloom.FuzzySet float int org.apache.lucene.util.FixedBitSet int int
      StackMap stack:
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            iload 5 /* i */
            iaload
            istore 6 /* candidateBitsetSize */
        start local 6 // int candidateBitsetSize
         6: .line 259
            iload 2 /* numBitsSet */
            i2f
         7: .line 260
            iload 6 /* candidateBitsetSize */
            i2f
         8: .line 259
            fdiv
            fstore 7 /* candidateSaturation */
        start local 7 // float candidateSaturation
         9: .line 261
            fload 7 /* candidateSaturation */
            fload 1 /* targetMaxSaturation */
            fcmpg
            ifgt 12
        10: .line 262
            iload 6 /* candidateBitsetSize */
            istore 4 /* rightSizedBitSetSize */
        11: .line 263
            goto 14
        end local 7 // float candidateSaturation
        end local 6 // int candidateBitsetSize
        12: .line 257
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            getstatic org.apache.lucene.codecs.bloom.FuzzySet.usableBitSetSizes:[I
            arraylength
            if_icmplt 5
        end local 5 // int i
        14: .line 267
      StackMap locals:
      StackMap stack:
            iload 4 /* rightSizedBitSetSize */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            if_icmpge 25
        15: .line 269
            new org.apache.lucene.util.FixedBitSet
            dup
            iload 4 /* rightSizedBitSetSize */
            iconst_1
            iadd
            invokespecial org.apache.lucene.util.FixedBitSet.<init>:(I)V
            astore 3 /* rightSizedBitSet */
        16: .line 271
            iconst_0
            istore 5 /* bitIndex */
        start local 5 // int bitIndex
        17: .line 273
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            iload 5 /* bitIndex */
            invokevirtual org.apache.lucene.util.FixedBitSet.nextSetBit:(I)I
            istore 5 /* bitIndex */
        18: .line 274
            iload 5 /* bitIndex */
            ldc 2147483647
            if_icmpeq 22
        19: .line 277
            iload 5 /* bitIndex */
            iload 4 /* rightSizedBitSetSize */
            iand
            istore 6 /* downSizedBitIndex */
        start local 6 // int downSizedBitIndex
        20: .line 278
            aload 3 /* rightSizedBitSet */
            iload 6 /* downSizedBitIndex */
            invokevirtual org.apache.lucene.util.FixedBitSet.set:(I)V
        21: .line 279
            iinc 5 /* bitIndex */ 1
        end local 6 // int downSizedBitIndex
        22: .line 281
      StackMap locals:
      StackMap stack:
            iload 5 /* bitIndex */
            iflt 26
            iload 5 /* bitIndex */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
        23: .line 272
            if_icmple 17
        end local 5 // int bitIndex
        24: .line 282
            goto 26
        25: .line 283
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        26: .line 285
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.codecs.bloom.FuzzySet
            dup
            aload 3 /* rightSizedBitSet */
            iload 4 /* rightSizedBitSetSize */
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.hashFunction:Lorg/apache/lucene/codecs/bloom/HashFunction;
            invokespecial org.apache.lucene.codecs.bloom.FuzzySet.<init>:(Lorg/apache/lucene/util/FixedBitSet;ILorg/apache/lucene/codecs/bloom/HashFunction;)V
            areturn
        end local 4 // int rightSizedBitSetSize
        end local 3 // org.apache.lucene.util.FixedBitSet rightSizedBitSet
        end local 2 // int numBitsSet
        end local 1 // float targetMaxSaturation
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            0   27     1   targetMaxSaturation  F
            1   27     2            numBitsSet  I
            2   27     3      rightSizedBitSet  Lorg/apache/lucene/util/FixedBitSet;
            3   27     4  rightSizedBitSetSize  I
            4   14     5                     i  I
            6   12     6   candidateBitsetSize  I
            9   12     7   candidateSaturation  F
           17   24     5              bitIndex  I
           20   22     6     downSizedBitIndex  I
    MethodParameters:
                     Name  Flags
      targetMaxSaturation  

  public int getEstimatedUniqueValues();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
         0: .line 290
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            invokevirtual org.apache.lucene.util.FixedBitSet.cardinality:()I
            invokestatic org.apache.lucene.codecs.bloom.FuzzySet.getEstimatedNumberUniqueValuesAllowingForCollisions:(II)I
            ireturn
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/codecs/bloom/FuzzySet;

  public static int getEstimatedNumberUniqueValuesAllowingForCollisions(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // int setSize
        start local 1 // int numRecordedBits
         0: .line 296
            iload 0 /* setSize */
            i2d
            dstore 2 /* setSizeAsDouble */
        start local 2 // double setSizeAsDouble
         1: .line 297
            iload 1 /* numRecordedBits */
            i2d
            dstore 4 /* numRecordedBitsAsDouble */
        start local 4 // double numRecordedBitsAsDouble
         2: .line 298
            dload 4 /* numRecordedBitsAsDouble */
            dload 2 /* setSizeAsDouble */
            ddiv
            dstore 6 /* saturation */
        start local 6 // double saturation
         3: .line 299
            dconst_1
            dload 6 /* saturation */
            dsub
            invokestatic java.lang.Math.log:(D)D
            ldc -1.0
            dmul
            dstore 8 /* logInverseSaturation */
        start local 8 // double logInverseSaturation
         4: .line 300
            dload 2 /* setSizeAsDouble */
            dload 8 /* logInverseSaturation */
            dmul
            d2i
            ireturn
        end local 8 // double logInverseSaturation
        end local 6 // double saturation
        end local 4 // double numRecordedBitsAsDouble
        end local 2 // double setSizeAsDouble
        end local 1 // int numRecordedBits
        end local 0 // int setSize
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                  setSize  I
            0    5     1          numRecordedBits  I
            1    5     2          setSizeAsDouble  D
            2    5     4  numRecordedBitsAsDouble  D
            3    5     6               saturation  D
            4    5     8     logInverseSaturation  D
    MethodParameters:
                 Name  Flags
      setSize          
      numRecordedBits  

  public float getSaturation();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
         0: .line 304
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            invokevirtual org.apache.lucene.util.FixedBitSet.cardinality:()I
            istore 1 /* numBitsSet */
        start local 1 // int numBitsSet
         1: .line 305
            iload 1 /* numBitsSet */
            i2f
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.bloomSize:I
            i2f
            fdiv
            freturn
        end local 1 // int numBitsSet
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
            1    2     1  numBitsSet  I

  public long ramBytesUsed();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
         0: .line 310
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.filter:Lorg/apache/lucene/util/FixedBitSet;
            invokevirtual org.apache.lucene.util.FixedBitSet.getBits:()[J
            invokestatic org.apache.lucene.util.RamUsageEstimator.sizeOf:([J)J
            lreturn
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/codecs/bloom/FuzzySet;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
         0: .line 315
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(hash="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.codecs.bloom.FuzzySet.hashFunction:Lorg/apache/lucene/codecs/bloom/HashFunction;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.codecs.bloom.FuzzySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/codecs/bloom/FuzzySet;
}
SourceFile: "FuzzySet.java"
NestMembers:
  org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult
InnerClasses:
  public final ContainsResult = org.apache.lucene.codecs.bloom.FuzzySet$ContainsResult of org.apache.lucene.codecs.bloom.FuzzySet