public final class it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps
  super_class: java.lang.Object
{
  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=1, locals=0, args_size=0
         0: .line 28
            ldc Lit/unimi/dsi/fastutil/floats/FloatSemiIndirectHeaps;
            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 it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
            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 // it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            return
        end local 0 // it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/floats/FloatSemiIndirectHeaps;

  public static int downHeap(float[], int[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // float[] refArray
        start local 1 // int[] heap
        start local 2 // int size
        start local 3 // int i
        start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 50
            getstatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
            ifne 1
            iload 3 /* i */
            iload 2 /* size */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 51
      StackMap locals:
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iaload
            istore 5 /* e */
        start local 5 // int e
         2: .line 52
            aload 0 /* refArray */
            iload 5 /* e */
            faload
            fstore 6 /* E */
        start local 6 // float E
         3: .line 54
            aload 4 /* c */
            ifnonnull 24
         4: .line 55
            goto 13
        start local 7 // int child
         5: .line 56
      StackMap locals: int float int
      StackMap stack:
            aload 1 /* heap */
            iload 7 /* child */
            iaload
            istore 8 /* t */
        start local 8 // int t
         6: .line 57
            iload 7 /* child */
            iconst_1
            iadd
            istore 9 /* right */
        start local 9 // int right
         7: .line 58
            iload 9 /* right */
            iload 2 /* size */
            if_icmpge 9
            aload 0 /* refArray */
            aload 1 /* heap */
            iload 9 /* right */
            iaload
            faload
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            invokestatic java.lang.Float.compare:(FF)I
            ifge 9
         8: .line 59
            aload 1 /* heap */
            iload 9 /* right */
            dup
            istore 7 /* child */
            iaload
            istore 8 /* t */
         9: .line 60
      StackMap locals: int int
      StackMap stack:
            fload 6 /* E */
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            invokestatic java.lang.Float.compare:(FF)I
            ifgt 11
        10: .line 61
            goto 26
        11: .line 62
      StackMap locals:
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 8 /* t */
            iastore
        12: .line 63
            iload 7 /* child */
            istore 3 /* i */
        end local 9 // int right
        end local 8 // int t
        end local 7 // int child
        13: .line 55
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            ishl
            iconst_1
            iadd
            dup
            istore 7 /* child */
        start local 7 // int child
        14: iload 2 /* size */
            if_icmplt 5
        15: .line 64
            goto 26
        16: .line 67
      StackMap locals: int
      StackMap stack:
            aload 1 /* heap */
            iload 7 /* child */
            iaload
            istore 8 /* t */
        start local 8 // int t
        17: .line 68
            iload 7 /* child */
            iconst_1
            iadd
            istore 9 /* right */
        start local 9 // int right
        18: .line 69
            iload 9 /* right */
            iload 2 /* size */
            if_icmpge 20
            aload 4 /* c */
            aload 0 /* refArray */
            aload 1 /* heap */
            iload 9 /* right */
            iaload
            faload
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
            ifge 20
        19: .line 70
            aload 1 /* heap */
            iload 9 /* right */
            dup
            istore 7 /* child */
            iaload
            istore 8 /* t */
        20: .line 71
      StackMap locals: int int
      StackMap stack:
            aload 4 /* c */
            fload 6 /* E */
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
            ifgt 22
        21: .line 72
            goto 26
        22: .line 73
      StackMap locals:
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 8 /* t */
            iastore
        23: .line 74
            iload 7 /* child */
            istore 3 /* i */
        end local 9 // int right
        end local 8 // int t
        end local 7 // int child
        24: .line 66
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            ishl
            iconst_1
            iadd
            dup
            istore 7 /* child */
        start local 7 // int child
        25: iload 2 /* size */
            if_icmplt 16
        26: .line 76
      StackMap locals: int
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 5 /* e */
            iastore
        27: .line 77
            iload 3 /* i */
            ireturn
        end local 7 // int child
        end local 6 // float E
        end local 5 // int e
        end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 3 // int i
        end local 2 // int size
        end local 1 // int[] heap
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0  refArray  [F
            0   28     1      heap  [I
            0   28     2      size  I
            0   28     3         i  I
            0   28     4         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            2   28     5         e  I
            3   28     6         E  F
            5   13     7     child  I
           14   24     7     child  I
           25   28     7     child  I
            6   13     8         t  I
            7   13     9     right  I
           17   24     8         t  I
           18   24     9     right  I
    MethodParameters:
          Name  Flags
      refArray  final
      heap      final
      size      final
      i         
      c         final

  public static int upHeap(float[], int[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // float[] refArray
        start local 1 // int[] heap
        start local 2 // int size
        start local 3 // int i
        start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 97
            getstatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
            ifne 1
            iload 3 /* i */
            iload 2 /* size */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iaload
            istore 5 /* e */
        start local 5 // int e
         2: .line 99
            aload 0 /* refArray */
            iload 5 /* e */
            faload
            fstore 6 /* E */
        start local 6 // float E
         3: .line 100
            aload 4 /* c */
            ifnonnull 19
         4: .line 101
            goto 11
         5: .line 102
      StackMap locals: int float
      StackMap stack:
            iload 3 /* i */
            iconst_1
            isub
            iconst_1
            iushr
            istore 7 /* parent */
        start local 7 // int parent
         6: .line 103
            aload 1 /* heap */
            iload 7 /* parent */
            iaload
            istore 8 /* t */
        start local 8 // int t
         7: .line 104
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            fload 6 /* E */
            invokestatic java.lang.Float.compare:(FF)I
            ifgt 9
         8: .line 105
            goto 20
         9: .line 106
      StackMap locals: int int
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 8 /* t */
            iastore
        10: .line 107
            iload 7 /* parent */
            istore 3 /* i */
        end local 8 // int t
        end local 7 // int parent
        11: .line 101
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifne 5
        12: .line 108
            goto 20
        13: .line 111
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            isub
            iconst_1
            iushr
            istore 7 /* parent */
        start local 7 // int parent
        14: .line 112
            aload 1 /* heap */
            iload 7 /* parent */
            iaload
            istore 8 /* t */
        start local 8 // int t
        15: .line 113
            aload 4 /* c */
            aload 0 /* refArray */
            iload 8 /* t */
            faload
            fload 6 /* E */
            invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
            ifgt 17
        16: .line 114
            goto 20
        17: .line 115
      StackMap locals: int int
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 8 /* t */
            iastore
        18: .line 116
            iload 7 /* parent */
            istore 3 /* i */
        end local 8 // int t
        end local 7 // int parent
        19: .line 110
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifne 13
        20: .line 118
      StackMap locals:
      StackMap stack:
            aload 1 /* heap */
            iload 3 /* i */
            iload 5 /* e */
            iastore
        21: .line 119
            iload 3 /* i */
            ireturn
        end local 6 // float E
        end local 5 // int e
        end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 3 // int i
        end local 2 // int size
        end local 1 // int[] heap
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0  refArray  [F
            0   22     1      heap  [I
            0   22     2      size  I
            0   22     3         i  I
            0   22     4         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            2   22     5         e  I
            3   22     6         E  F
            6   11     7    parent  I
            7   11     8         t  I
           14   19     7    parent  I
           15   19     8         t  I
    MethodParameters:
          Name  Flags
      refArray  final
      heap      final
      size      final
      i         
      c         final

  public static void makeHeap(float[], int, int, int[], it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([FII[ILit/unimi/dsi/fastutil/floats/FloatComparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // float[] refArray
        start local 1 // int offset
        start local 2 // int length
        start local 3 // int[] heap
        start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 137
            aload 0 /* refArray */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic it.unimi.dsi.fastutil.floats.FloatArrays.ensureOffsetLength:([FII)V
         1: .line 138
            aload 3 /* heap */
            arraylength
            iload 2 /* length */
            if_icmpge 5
         2: .line 139
            new java.lang.IllegalArgumentException
            dup
         3: .line 140
            new java.lang.StringBuilder
            dup
            ldc "The heap length ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* heap */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") is smaller than the number of elements ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 139
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 141
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            istore 5 /* i */
        start local 5 // int i
         6: .line 142
            goto 8
         7: .line 143
      StackMap locals: int
      StackMap stack:
            aload 3 /* heap */
            iload 5 /* i */
            iload 1 /* offset */
            iload 5 /* i */
            iadd
            iastore
         8: .line 142
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iinc 5 /* i */ -1
            ifne 7
         9: .line 144
            iload 2 /* length */
            iconst_1
            iushr
            istore 5 /* i */
        10: .line 145
            goto 12
        11: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* refArray */
            aload 3 /* heap */
            iload 2 /* length */
            iload 5 /* i */
            aload 4 /* c */
            invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.downHeap:([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
            pop
        12: .line 145
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iinc 5 /* i */ -1
            ifne 11
        13: .line 147
            return
        end local 5 // int i
        end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 3 // int[] heap
        end local 2 // int length
        end local 1 // int offset
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0  refArray  [F
            0   14     1    offset  I
            0   14     2    length  I
            0   14     3      heap  [I
            0   14     4         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            6   14     5         i  I
    MethodParameters:
          Name  Flags
      refArray  final
      offset    final
      length    final
      heap      final
      c         final

  public static int[] makeHeap(float[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([FIILit/unimi/dsi/fastutil/floats/FloatComparator;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // float[] refArray
        start local 1 // int offset
        start local 2 // int length
        start local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 162
            iload 2 /* length */
            ifgt 1
            getstatic it.unimi.dsi.fastutil.ints.IntArrays.EMPTY_ARRAY:[I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 2 /* length */
            newarray 10
      StackMap locals:
      StackMap stack: int[]
         2: astore 4 /* heap */
        start local 4 // int[] heap
         3: .line 163
            aload 0 /* refArray */
            iload 1 /* offset */
            iload 2 /* length */
            aload 4 /* heap */
            aload 3 /* c */
            invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.makeHeap:([FII[ILit/unimi/dsi/fastutil/floats/FloatComparator;)V
         4: .line 164
            aload 4 /* heap */
            areturn
        end local 4 // int[] heap
        end local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 2 // int length
        end local 1 // int offset
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  refArray  [F
            0    5     1    offset  I
            0    5     2    length  I
            0    5     3         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            3    5     4      heap  [I
    MethodParameters:
          Name  Flags
      refArray  final
      offset    final
      length    final
      c         final

  public static void makeHeap(float[], int[], int, it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([F[IILit/unimi/dsi/fastutil/floats/FloatComparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // float[] refArray
        start local 1 // int[] heap
        start local 2 // int size
        start local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 179
            iload 2 /* size */
            iconst_1
            iushr
            istore 4 /* i */
        start local 4 // int i
         1: .line 180
            goto 3
         2: .line 181
      StackMap locals: int
      StackMap stack:
            aload 0 /* refArray */
            aload 1 /* heap */
            iload 2 /* size */
            iload 4 /* i */
            aload 3 /* c */
            invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.downHeap:([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
            pop
         3: .line 180
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iinc 4 /* i */ -1
            ifne 2
         4: .line 182
            return
        end local 4 // int i
        end local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 2 // int size
        end local 1 // int[] heap
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  refArray  [F
            0    5     1      heap  [I
            0    5     2      size  I
            0    5     3         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            1    5     4         i  I
    MethodParameters:
          Name  Flags
      refArray  final
      heap      final
      size      final
      c         final

  public static int front(float[], int[], int, int[]);
    descriptor: ([F[II[I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // float[] refArray
        start local 1 // int[] heap
        start local 2 // int size
        start local 3 // int[] a
         0: .line 213
            aload 0 /* refArray */
            aload 1 /* heap */
            iconst_0
            iaload
            faload
            fstore 4 /* top */
        start local 4 // float top
         1: .line 214
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         2: .line 215
            iconst_0
            istore 6 /* l */
        start local 6 // int l
         3: .line 216
            iconst_1
            istore 7 /* r */
        start local 7 // int r
         4: .line 217
            iconst_0
            istore 8 /* f */
        start local 8 // int f
         5: .line 218
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         6: goto 19
         7: .line 219
      StackMap locals: float[] int[] int int[] float int int int int int
      StackMap stack:
            iload 9 /* i */
            iload 8 /* f */
            if_icmpne 13
         8: .line 220
            iload 6 /* l */
            iload 7 /* r */
            if_icmplt 10
         9: .line 221
            goto 20
        10: .line 222
      StackMap locals:
      StackMap stack:
            iload 8 /* f */
            iconst_1
            ishl
            iconst_1
            iadd
            istore 8 /* f */
        11: .line 223
            iload 6 /* l */
            istore 9 /* i */
        12: .line 224
            iconst_m1
            istore 6 /* l */
        13: .line 226
      StackMap locals:
      StackMap stack:
            fload 4 /* top */
            aload 0 /* refArray */
            aload 1 /* heap */
            iload 9 /* i */
            iaload
            faload
            invokestatic java.lang.Float.compare:(FF)I
            ifne 18
        14: .line 227
            aload 3 /* a */
            iload 5 /* j */
            iinc 5 /* j */ 1
            aload 1 /* heap */
            iload 9 /* i */
            iaload
            iastore
        15: .line 228
            iload 6 /* l */
            iconst_m1
            if_icmpne 17
        16: .line 229
            iload 9 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            istore 6 /* l */
        17: .line 230
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            iload 9 /* i */
            iconst_2
            imul
            iconst_3
            iadd
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* r */
        18: .line 218
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            iload 7 /* r */
            if_icmplt 7
        end local 9 // int i
        20: .line 233
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            ireturn
        end local 8 // int f
        end local 7 // int r
        end local 6 // int l
        end local 5 // int j
        end local 4 // float top
        end local 3 // int[] a
        end local 2 // int size
        end local 1 // int[] heap
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0  refArray  [F
            0   21     1      heap  [I
            0   21     2      size  I
            0   21     3         a  [I
            1   21     4       top  F
            2   21     5         j  I
            3   21     6         l  I
            4   21     7         r  I
            5   21     8         f  I
            6   20     9         i  I
    MethodParameters:
          Name  Flags
      refArray  final
      heap      final
      size      final
      a         final

  public static int front(float[], int[], int, int[], it.unimi.dsi.fastutil.floats.FloatComparator);
    descriptor: ([F[II[ILit/unimi/dsi/fastutil/floats/FloatComparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // float[] refArray
        start local 1 // int[] heap
        start local 2 // int size
        start local 3 // int[] a
        start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
         0: .line 267
            aload 0 /* refArray */
            aload 1 /* heap */
            iconst_0
            iaload
            faload
            fstore 5 /* top */
        start local 5 // float top
         1: .line 268
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         2: .line 269
            iconst_0
            istore 7 /* l */
        start local 7 // int l
         3: .line 270
            iconst_1
            istore 8 /* r */
        start local 8 // int r
         4: .line 271
            iconst_0
            istore 9 /* f */
        start local 9 // int f
         5: .line 272
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         6: goto 19
         7: .line 273
      StackMap locals: float[] int[] int int[] it.unimi.dsi.fastutil.floats.FloatComparator float int int int int int
      StackMap stack:
            iload 10 /* i */
            iload 9 /* f */
            if_icmpne 13
         8: .line 274
            iload 7 /* l */
            iload 8 /* r */
            if_icmplt 10
         9: .line 275
            goto 20
        10: .line 276
      StackMap locals:
      StackMap stack:
            iload 9 /* f */
            iconst_1
            ishl
            iconst_1
            iadd
            istore 9 /* f */
        11: .line 277
            iload 7 /* l */
            istore 10 /* i */
        12: .line 278
            iconst_m1
            istore 7 /* l */
        13: .line 280
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            fload 5 /* top */
            aload 0 /* refArray */
            aload 1 /* heap */
            iload 10 /* i */
            iaload
            faload
            invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
            ifne 18
        14: .line 281
            aload 3 /* a */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 1 /* heap */
            iload 10 /* i */
            iaload
            iastore
        15: .line 282
            iload 7 /* l */
            iconst_m1
            if_icmpne 17
        16: .line 283
            iload 10 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            istore 7 /* l */
        17: .line 284
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            iload 10 /* i */
            iconst_2
            imul
            iconst_3
            iadd
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* r */
        18: .line 272
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* i */
            iload 8 /* r */
            if_icmplt 7
        end local 10 // int i
        20: .line 287
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            ireturn
        end local 9 // int f
        end local 8 // int r
        end local 7 // int l
        end local 6 // int j
        end local 5 // float top
        end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
        end local 3 // int[] a
        end local 2 // int size
        end local 1 // int[] heap
        end local 0 // float[] refArray
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0  refArray  [F
            0   21     1      heap  [I
            0   21     2      size  I
            0   21     3         a  [I
            0   21     4         c  Lit/unimi/dsi/fastutil/floats/FloatComparator;
            1   21     5       top  F
            2   21     6         j  I
            3   21     7         l  I
            4   21     8         r  I
            5   21     9         f  I
            6   20    10         i  I
    MethodParameters:
          Name  Flags
      refArray  final
      heap      final
      size      final
      a         final
      c         final
}
SourceFile: "FloatSemiIndirectHeaps.java"