public class com.conversantmedia.util.estimation.Percentile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.conversantmedia.util.estimation.Percentile
  super_class: java.lang.Object
{
  private static float[] DEFAULT_PERCENTILE;
    descriptor: [F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final float[] quantiles;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int m;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] q;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] n;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] f;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] d;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] e;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean isInitializing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 34
            bipush 7
            newarray 6
            dup
            iconst_0
            ldc 0.05
            fastore
            dup
            iconst_1
            ldc 0.5
            fastore
            dup
            iconst_2
            ldc 0.683
            fastore
            dup
            iconst_3
            ldc 0.75
            fastore
            dup
            iconst_4
            ldc 0.85
            fastore
            dup
            iconst_5
            ldc 0.954
            fastore
            dup
            bipush 6
            ldc 0.99
            fastore
            putstatic com.conversantmedia.util.estimation.Percentile.DEFAULT_PERCENTILE:[F
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 52
            aload 0 /* this */
            getstatic com.conversantmedia.util.estimation.Percentile.DEFAULT_PERCENTILE:[F
            invokespecial com.conversantmedia.util.estimation.Percentile.<init>:([F)V
         1: .line 53
            return
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  public void <init>(float[]);
    descriptor: ([F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.conversantmedia.util.estimation.Percentile this
        start local 1 // float[] quantiles
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* quantiles */
            arraylength
            putfield com.conversantmedia.util.estimation.Percentile.m:I
         2: .line 59
            aload 0 /* this */
            aload 1 /* quantiles */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            invokestatic java.util.Arrays.copyOf:([FI)[F
            putfield com.conversantmedia.util.estimation.Percentile.quantiles:[F
         3: .line 61
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            istore 2 /* N */
        start local 2 // int N
         4: .line 62
            aload 0 /* this */
            iload 2 /* N */
            iconst_1
            iadd
            newarray 6
            putfield com.conversantmedia.util.estimation.Percentile.q:[F
         5: .line 63
            aload 0 /* this */
            iload 2 /* N */
            iconst_1
            iadd
            newarray 10
            putfield com.conversantmedia.util.estimation.Percentile.n:[I
         6: .line 64
            aload 0 /* this */
            iload 2 /* N */
            iconst_1
            iadd
            newarray 6
            putfield com.conversantmedia.util.estimation.Percentile.f:[F
         7: .line 65
            aload 0 /* this */
            iload 2 /* N */
            iconst_1
            iadd
            newarray 6
            putfield com.conversantmedia.util.estimation.Percentile.d:[F
         8: .line 67
            aload 0 /* this */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            newarray 6
            putfield com.conversantmedia.util.estimation.Percentile.e:[F
         9: .line 69
            aload 0 /* this */
            invokevirtual com.conversantmedia.util.estimation.Percentile.clear:()V
        10: .line 70
            return
        end local 2 // int N
        end local 1 // float[] quantiles
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/conversantmedia/util/estimation/Percentile;
            0   11     1  quantiles  [F
            4   11     2          N  I
    MethodParameters:
           Name  Flags
      quantiles  final

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 78
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 79
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 1 /* i */
            iload 1 /* i */
            iconst_1
            iadd
            iastore
         3: .line 78
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            if_icmple 2
        end local 1 // int i
         5: .line 82
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_1
            fconst_0
            fastore
         6: .line 83
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            fconst_1
            fastore
         7: .line 85
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         8: goto 11
         9: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_2
            iload 1 /* i */
            imul
            iconst_1
            iadd
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.quantiles:[F
            iload 1 /* i */
            iconst_1
            isub
            faload
            fastore
        10: .line 85
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            if_icmple 9
        end local 1 // int i
        12: .line 89
            iconst_1
            istore 1 /* i */
        start local 1 // int i
        13: goto 16
        14: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_2
            iload 1 /* i */
            imul
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_2
            iload 1 /* i */
            imul
            iconst_1
            isub
            faload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iconst_2
            iload 1 /* i */
            imul
            iconst_1
            iadd
            faload
            fadd
            fconst_2
            fdiv
            fastore
        15: .line 89
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 1 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            iconst_1
            iadd
            if_icmple 14
        end local 1 // int i
        17: .line 93
            iconst_1
            istore 1 /* i */
        start local 1 // int i
        18: goto 21
        19: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.d:[F
            iload 1 /* i */
            fconst_1
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            iconst_1
            iadd
            imul
            i2f
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iload 1 /* i */
            faload
            fmul
            fadd
            fastore
        20: .line 93
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 1 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            if_icmple 19
        end local 1 // int i
        22: .line 96
            aload 0 /* this */
            iconst_1
            putfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
        23: .line 97
            aload 0 /* this */
            iconst_1
            putfield com.conversantmedia.util.estimation.Percentile.ni:I
        24: .line 99
            return
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Lcom/conversantmedia/util/estimation/Percentile;
            1    5     1     i  I
            8   12     1     i  I
           13   17     1     i  I
           18   22     1     i  I

  public void add(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.conversantmedia.util.estimation.Percentile this
        start local 1 // float x
         0: .line 107
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
            ifeq 6
         1: .line 108
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            aload 0 /* this */
            dup
            getfield com.conversantmedia.util.estimation.Percentile.ni:I
            dup_x1
            iconst_1
            iadd
            putfield com.conversantmedia.util.estimation.Percentile.ni:I
            fload 1 /* x */
            fastore
         2: .line 110
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.ni:I
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            iconst_1
            iadd
            if_icmpne 7
         3: .line 111
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            invokestatic java.util.Arrays.sort:([F)V
         4: .line 112
            aload 0 /* this */
            iconst_0
            putfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
         5: .line 114
            goto 7
         6: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x */
            invokevirtual com.conversantmedia.util.estimation.Percentile.addMeasurement:(F)V
         7: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float x
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/conversantmedia/util/estimation/Percentile;
            0    8     1     x  F
    MethodParameters:
      Name  Flags
      x     final

  public float[] getQuantiles();
    descriptor: ()[F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 123
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.quantiles:[F
            areturn
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  public boolean isReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 130
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  public int getNSamples();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 137
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
            ifne 2
         1: .line 138
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            iaload
            iconst_1
            isub
            ireturn
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.ni:I
            iconst_1
            isub
            ireturn
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  public float[] getEstimates();
    descriptor: ()[F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 152
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.isInitializing:Z
            ifne 7
         1: .line 153
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 154
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.e:[F
            iload 1 /* i */
            iconst_1
            isub
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_2
            iload 1 /* i */
            imul
            iconst_1
            iadd
            faload
            fastore
         4: .line 153
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            if_icmple 3
        end local 1 // int i
         6: .line 156
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.e:[F
            areturn
         7: .line 158
      StackMap locals:
      StackMap stack:
            new com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException
            dup
            aload 0 /* this */
            invokespecial com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException.<init>:(Lcom/conversantmedia/util/estimation/Percentile;)V
            athrow
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/conversantmedia/util/estimation/Percentile;
            2    6     1     i  I
    Exceptions:
      throws com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException

  public float getMin();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 166
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_1
            faload
            freturn
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  public float getMax();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.conversantmedia.util.estimation.Percentile this
         0: .line 173
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            faload
            freturn
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/conversantmedia/util/estimation/Percentile;

  private void addMeasurement(float);
    descriptor: (F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // com.conversantmedia.util.estimation.Percentile this
        start local 1 // float x
         0: .line 177
            iconst_1
            istore 2 /* k */
        start local 2 // int k
         1: .line 179
            fload 1 /* x */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_1
            faload
            fcmpg
            ifge 5
         2: .line 180
            iconst_1
            istore 2 /* k */
         3: .line 181
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_1
            fload 1 /* x */
            fastore
         4: .line 182
            goto 16
      StackMap locals: int
      StackMap stack:
         5: fload 1 /* x */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            faload
            fcmpl
            iflt 9
         6: .line 183
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_2
            iadd
            istore 2 /* k */
         7: .line 184
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            fload 1 /* x */
            fastore
         8: .line 185
            goto 16
         9: .line 186
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* i */
        start local 3 // int i
        10: goto 15
        11: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fload 1 /* x */
            fcmpg
            ifgt 14
            fload 1 /* x */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            fcmpg
            ifge 14
        12: .line 188
            iload 3 /* i */
            istore 2 /* k */
        13: .line 189
            goto 16
        14: .line 186
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_2
            iadd
            if_icmple 11
        end local 3 // int i
        16: .line 194
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            iconst_1
            iadd
            istore 3 /* i */
        start local 3 // int i
        17: goto 20
        18: .line 195
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            iconst_1
            iadd
            iastore
        19: .line 194
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            if_icmple 18
        end local 3 // int i
        21: .line 198
            iconst_1
            istore 3 /* i */
        start local 3 // int i
        22: goto 25
        23: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.d:[F
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.d:[F
            iload 3 /* i */
            faload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.f:[F
            iload 3 /* i */
            faload
            fadd
            fastore
        24: .line 198
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_3
            iadd
            if_icmple 23
        end local 3 // int i
        26: .line 202
            iconst_2
            istore 3 /* i */
        start local 3 // int i
        27: goto 53
        28: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.d:[F
            iload 3 /* i */
            faload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            i2f
            fsub
            fstore 4 /* dval */
        start local 4 // float dval
        29: .line 204
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            isub
            i2f
            fstore 5 /* dp */
        start local 5 // float dp
        30: .line 205
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iconst_1
            isub
            iaload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            isub
            i2f
            fstore 6 /* dm */
        start local 6 // float dm
        31: .line 206
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fsub
            fload 5 /* dp */
            fdiv
            fstore 7 /* qp */
        start local 7 // float qp
        32: .line 207
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            isub
            faload
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fsub
            fload 6 /* dm */
            fdiv
            fstore 8 /* qm */
        start local 8 // float qm
        33: .line 208
            fload 4 /* dval */
            fconst_1
            fcmpl
            iflt 43
            fload 5 /* dp */
            fconst_1
            fcmpl
            ifle 43
        34: .line 210
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fconst_1
            fload 6 /* dm */
            fsub
            fload 7 /* qp */
            fmul
        35: .line 211
            fload 5 /* dp */
            fconst_1
            fsub
            fload 8 /* qm */
            fmul
            fadd
            fload 5 /* dp */
            fload 6 /* dm */
            fsub
            fdiv
        36: .line 210
            fadd
            fstore 9 /* qt */
        start local 9 // float qt
        37: .line 213
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            isub
            faload
            fload 9 /* qt */
            fcmpg
            ifge 40
            fload 9 /* qt */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            fcmpg
            ifge 40
        38: .line 214
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            fload 9 /* qt */
            fastore
        39: .line 215
            goto 41
        40: .line 216
      StackMap locals: com.conversantmedia.util.estimation.Percentile float int int float float float float float float
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fload 7 /* qp */
            fadd
            fastore
        41: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            iconst_1
            iadd
            iastore
        end local 9 // float qt
        42: .line 219
            goto 52
      StackMap locals:
      StackMap stack:
        43: fload 4 /* dval */
            ldc -1.0
            fcmpg
            ifgt 52
            fload 6 /* dm */
            ldc -1.0
            fcmpg
            ifge 52
        44: .line 220
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fconst_1
            fload 5 /* dp */
            fadd
            fload 8 /* qm */
            fmul
        45: .line 221
            fload 6 /* dm */
            fconst_1
            fadd
            fload 7 /* qp */
            fmul
            fsub
            fload 5 /* dp */
            fload 6 /* dm */
            fsub
            fdiv
        46: .line 220
            fsub
            fstore 9 /* qt */
        start local 9 // float qt
        47: .line 222
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            isub
            faload
            fload 9 /* qt */
            fcmpg
            ifge 50
            fload 9 /* qt */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            iconst_1
            iadd
            faload
            fcmpg
            ifge 50
        48: .line 223
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            fload 9 /* qt */
            fastore
        49: .line 224
            goto 51
        50: .line 225
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.q:[F
            iload 3 /* i */
            faload
            fload 8 /* qm */
            fsub
            fastore
        51: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.n:[I
            iload 3 /* i */
            iaload
            iconst_1
            isub
            iastore
        end local 9 // float qt
        end local 8 // float qm
        end local 7 // float qp
        end local 6 // float dm
        end local 5 // float dp
        end local 4 // float dval
        52: .line 202
      StackMap locals: com.conversantmedia.util.estimation.Percentile float int int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 3 /* i */
            iconst_2
            aload 0 /* this */
            getfield com.conversantmedia.util.estimation.Percentile.m:I
            imul
            iconst_2
            iadd
            if_icmple 28
        end local 3 // int i
        54: .line 230
            return
        end local 2 // int k
        end local 1 // float x
        end local 0 // com.conversantmedia.util.estimation.Percentile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   55     0  this  Lcom/conversantmedia/util/estimation/Percentile;
            0   55     1     x  F
            1   55     2     k  I
           10   16     3     i  I
           17   21     3     i  I
           22   26     3     i  I
           27   54     3     i  I
           29   52     4  dval  F
           30   52     5    dp  F
           31   52     6    dm  F
           32   52     7    qp  F
           33   52     8    qm  F
           37   42     9    qt  F
           47   52     9    qt  F
    MethodParameters:
      Name  Flags
      x     final

  public static void print(java.io.PrintStream, java.lang.String, com.conversantmedia.util.estimation.Percentile);
    descriptor: (Ljava/io/PrintStream;Ljava/lang/String;Lcom/conversantmedia/util/estimation/Percentile;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // java.io.PrintStream out
        start local 1 // java.lang.String name
        start local 2 // com.conversantmedia.util.estimation.Percentile p
         0: .line 242
            aload 2 /* p */
            invokevirtual com.conversantmedia.util.estimation.Percentile.isReady:()Z
            ifeq 29
         1: .line 244
            new java.lang.StringBuilder
            dup
            sipush 512
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         2: .line 245
            aload 2 /* p */
            invokevirtual com.conversantmedia.util.estimation.Percentile.getQuantiles:()[F
            astore 4 /* q */
        start local 4 // float[] q
         3: .line 246
            aload 2 /* p */
            invokevirtual com.conversantmedia.util.estimation.Percentile.getEstimates:()[F
            astore 5 /* e */
        start local 5 // float[] e
         4: .line 249
            aload 3 /* sb */
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 250
            aload 3 /* sb */
            ldc ", min("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 251
            aload 3 /* sb */
            aload 2 /* p */
            invokevirtual com.conversantmedia.util.estimation.Percentile.getMin:()F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
         7: .line 252
            aload 3 /* sb */
            ldc "), max("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 253
            aload 3 /* sb */
            aload 2 /* p */
            invokevirtual com.conversantmedia.util.estimation.Percentile.getMax:()F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
         9: .line 254
            aload 3 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 255
            aload 3 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 257
            aload 5 /* e */
            aload 5 /* e */
            arraylength
            iconst_1
            isub
            faload
            fstore 6 /* max */
        start local 6 // float max
        12: .line 258
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 25
        14: .line 259
      StackMap locals: java.io.PrintStream java.lang.String com.conversantmedia.util.estimation.Percentile java.lang.StringBuilder float[] float[] float int
      StackMap stack:
            aload 3 /* sb */
            ldc "%4.3f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* q */
            iload 7 /* i */
            faload
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 260
            aload 3 /* sb */
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 261
            aload 5 /* e */
            iload 7 /* i */
            faload
            fload 6 /* max */
            fdiv
            ldc 80.0
            fmul
            f2i
            istore 8 /* len */
        start local 8 // int len
        17: .line 262
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        18: goto 21
        19: .line 263
      StackMap locals: int int
      StackMap stack:
            aload 3 /* sb */
            bipush 35
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 262
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* j */
            iload 8 /* len */
            if_icmplt 19
        end local 9 // int j
        22: .line 265
            aload 3 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 266
            aload 3 /* sb */
            ldc "%4.3f\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* e */
            iload 7 /* i */
            faload
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // int len
        24: .line 258
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            aload 4 /* q */
            arraylength
            if_icmplt 14
        end local 7 // int i
        26: .line 269
            aload 0 /* out */
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // float max
        end local 5 // float[] e
        end local 4 // float[] q
        end local 3 // java.lang.StringBuilder sb
        27: .line 270
            goto 29
      StackMap locals: java.io.PrintStream java.lang.String com.conversantmedia.util.estimation.Percentile
      StackMap stack: com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException
        28: pop
        29: .line 274
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.conversantmedia.util.estimation.Percentile p
        end local 1 // java.lang.String name
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0   out  Ljava/io/PrintStream;
            0   30     1  name  Ljava/lang/String;
            0   30     2     p  Lcom/conversantmedia/util/estimation/Percentile;
            2   27     3    sb  Ljava/lang/StringBuilder;
            3   27     4     q  [F
            4   27     5     e  [F
           12   27     6   max  F
           13   26     7     i  I
           17   24     8   len  I
           18   22     9     j  I
      Exception table:
        from    to  target  type
           1    27      28  Class com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException
    MethodParameters:
      Name  Flags
      out   final
      name  final
      p     final
}
SourceFile: "Percentile.java"
NestMembers:
  com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException
InnerClasses:
  public InsufficientSamplesException = com.conversantmedia.util.estimation.Percentile$InsufficientSamplesException of com.conversantmedia.util.estimation.Percentile