public final class com.google.common.primitives.ImmutableDoubleArray implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.primitives.ImmutableDoubleArray
  super_class: java.lang.Object
{
  private static final com.google.common.primitives.ImmutableDoubleArray EMPTY;
    descriptor: Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final double[] array;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient int start;
    descriptor: I
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 92
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_0
            newarray 7
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            putstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.primitives.ImmutableDoubleArray of();
    descriptor: ()Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 96
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.primitives.ImmutableDoubleArray of(double);
    descriptor: (D)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // double e0
         0: .line 101
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_1
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
    MethodParameters:
      Name  Flags
      e0    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double);
    descriptor: (DD)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // double e0
        start local 2 // double e1
         0: .line 106
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_2
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            dup
            iconst_1
            dload 2 /* e1 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 2 // double e1
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
            0    1     2    e1  D
    MethodParameters:
      Name  Flags
      e0    
      e1    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double, double);
    descriptor: (DDD)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // double e0
        start local 2 // double e1
        start local 4 // double e2
         0: .line 111
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_3
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            dup
            iconst_1
            dload 2 /* e1 */
            dastore
            dup
            iconst_2
            dload 4 /* e2 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 4 // double e2
        end local 2 // double e1
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
            0    1     2    e1  D
            0    1     4    e2  D
    MethodParameters:
      Name  Flags
      e0    
      e1    
      e2    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double, double, double);
    descriptor: (DDDD)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // double e0
        start local 2 // double e1
        start local 4 // double e2
        start local 6 // double e3
         0: .line 116
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_4
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            dup
            iconst_1
            dload 2 /* e1 */
            dastore
            dup
            iconst_2
            dload 4 /* e2 */
            dastore
            dup
            iconst_3
            dload 6 /* e3 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 6 // double e3
        end local 4 // double e2
        end local 2 // double e1
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
            0    1     2    e1  D
            0    1     4    e2  D
            0    1     6    e3  D
    MethodParameters:
      Name  Flags
      e0    
      e1    
      e2    
      e3    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double, double, double, double);
    descriptor: (DDDDD)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // double e0
        start local 2 // double e1
        start local 4 // double e2
        start local 6 // double e3
        start local 8 // double e4
         0: .line 121
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            iconst_5
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            dup
            iconst_1
            dload 2 /* e1 */
            dastore
            dup
            iconst_2
            dload 4 /* e2 */
            dastore
            dup
            iconst_3
            dload 6 /* e3 */
            dastore
            dup
            iconst_4
            dload 8 /* e4 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 8 // double e4
        end local 6 // double e3
        end local 4 // double e2
        end local 2 // double e1
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
            0    1     2    e1  D
            0    1     4    e2  D
            0    1     6    e3  D
            0    1     8    e4  D
    MethodParameters:
      Name  Flags
      e0    
      e1    
      e2    
      e3    
      e4    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double, double, double, double, double);
    descriptor: (DDDDDD)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=6
        start local 0 // double e0
        start local 2 // double e1
        start local 4 // double e2
        start local 6 // double e3
        start local 8 // double e4
        start local 10 // double e5
         0: .line 127
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            bipush 6
            newarray 7
            dup
            iconst_0
            dload 0 /* e0 */
            dastore
            dup
            iconst_1
            dload 2 /* e1 */
            dastore
            dup
            iconst_2
            dload 4 /* e2 */
            dastore
            dup
            iconst_3
            dload 6 /* e3 */
            dastore
            dup
            iconst_4
            dload 8 /* e4 */
            dastore
            dup
            iconst_5
            dload 10 /* e5 */
            dastore
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 10 // double e5
        end local 8 // double e4
        end local 6 // double e3
        end local 4 // double e2
        end local 2 // double e1
        end local 0 // double e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  D
            0    1     2    e1  D
            0    1     4    e2  D
            0    1     6    e3  D
            0    1     8    e4  D
            0    1    10    e5  D
    MethodParameters:
      Name  Flags
      e0    
      e1    
      e2    
      e3    
      e4    
      e5    

  public static com.google.common.primitives.ImmutableDoubleArray of(double, double[]);
    descriptor: (D[D)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // double first
        start local 2 // double[] rest
         0: .line 141
            aload 2 /* rest */
            arraylength
            ldc 2147483646
            if_icmpgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: .line 142
      StackMap locals:
      StackMap stack: int
            ldc "the total number of elements must fit in an int"
         3: .line 140
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
         4: .line 143
            aload 2 /* rest */
            arraylength
            iconst_1
            iadd
            newarray 7
            astore 3 /* array */
        start local 3 // double[] array
         5: .line 144
            aload 3 /* array */
            iconst_0
            dload 0 /* first */
            dastore
         6: .line 145
            aload 2 /* rest */
            iconst_0
            aload 3 /* array */
            iconst_1
            aload 2 /* rest */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 146
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 3 /* array */
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            areturn
        end local 3 // double[] array
        end local 2 // double[] rest
        end local 0 // double first
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  first  D
            0    8     2   rest  [D
            5    8     3  array  [D
    MethodParameters:
       Name  Flags
      first  
      rest   

  public static com.google.common.primitives.ImmutableDoubleArray copyOf(double[]);
    descriptor: ([D)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // double[] values
         0: .line 151
            aload 0 /* values */
            arraylength
            ifne 2
         1: .line 152
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            goto 3
         2: .line 153
      StackMap locals:
      StackMap stack:
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 0 /* values */
            aload 0 /* values */
            arraylength
            invokestatic java.util.Arrays.copyOf:([DI)[D
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
         3: .line 151
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
            areturn
        end local 0 // double[] values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  values  [D
    MethodParameters:
        Name  Flags
      values  

  public static com.google.common.primitives.ImmutableDoubleArray copyOf(java.util.Collection<java.lang.Double>);
    descriptor: (Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection values
         0: .line 158
            aload 0 /* values */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 0 /* values */
            invokestatic com.google.common.primitives.Doubles.toArray:(Ljava/util/Collection;)[D
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
         2: areturn
        end local 0 // java.util.Collection values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  values  Ljava/util/Collection<Ljava/lang/Double;>;
    Signature: (Ljava/util/Collection<Ljava/lang/Double;>;)Lcom/google/common/primitives/ImmutableDoubleArray;
    MethodParameters:
        Name  Flags
      values  

  public static com.google.common.primitives.ImmutableDoubleArray copyOf(java.lang.Iterable<java.lang.Double>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable values
         0: .line 169
            aload 0 /* values */
            instanceof java.util.Collection
            ifeq 2
         1: .line 170
            aload 0 /* values */
            checkcast java.util.Collection
            invokestatic com.google.common.primitives.ImmutableDoubleArray.copyOf:(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableDoubleArray;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.primitives.ImmutableDoubleArray.builder:()Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
            aload 0 /* values */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray$Builder.addAll:(Ljava/lang/Iterable;)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
            invokevirtual com.google.common.primitives.ImmutableDoubleArray$Builder.build:()Lcom/google/common/primitives/ImmutableDoubleArray;
            areturn
        end local 0 // java.lang.Iterable values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  values  Ljava/lang/Iterable<Ljava/lang/Double;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/Double;>;)Lcom/google/common/primitives/ImmutableDoubleArray;
    MethodParameters:
        Name  Flags
      values  

  public static com.google.common.primitives.ImmutableDoubleArray copyOf(java.util.stream.DoubleStream);
    descriptor: (Ljava/util/stream/DoubleStream;)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.stream.DoubleStream stream
         0: .line 178
            aload 0 /* stream */
            invokeinterface java.util.stream.DoubleStream.toArray:()[D
            astore 1 /* array */
        start local 1 // double[] array
         1: .line 179
            aload 1 /* array */
            arraylength
            ifne 2
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            goto 3
      StackMap locals: double[]
      StackMap stack:
         2: new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 1 /* array */
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
         3: areturn
        end local 1 // double[] array
        end local 0 // java.util.stream.DoubleStream stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  stream  Ljava/util/stream/DoubleStream;
            1    4     1   array  [D
    MethodParameters:
        Name  Flags
      stream  

  public static com.google.common.primitives.ImmutableDoubleArray$Builder builder(int);
    descriptor: (I)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int initialCapacity
         0: .line 193
            iload 0 /* initialCapacity */
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Invalid initialCapacity: %s"
            iload 0 /* initialCapacity */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         3: .line 194
            new com.google.common.primitives.ImmutableDoubleArray$Builder
            dup
            iload 0 /* initialCapacity */
            invokespecial com.google.common.primitives.ImmutableDoubleArray$Builder.<init>:(I)V
            areturn
        end local 0 // int initialCapacity
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public static com.google.common.primitives.ImmutableDoubleArray$Builder builder();
    descriptor: ()Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 206
            new com.google.common.primitives.ImmutableDoubleArray$Builder
            dup
            bipush 10
            invokespecial com.google.common.primitives.ImmutableDoubleArray$Builder.<init>:(I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(double[]);
    descriptor: ([D)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // double[] array
         0: .line 351
            aload 0 /* this */
            aload 1 /* array */
            iconst_0
            aload 1 /* array */
            arraylength
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([DII)V
         1: .line 352
            return
        end local 1 // double[] array
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    2     1  array  [D
    MethodParameters:
       Name  Flags
      array  

  private void <init>(double[], int, int);
    descriptor: ([DII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // double[] array
        start local 2 // int start
        start local 3 // int end
         0: .line 354
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 355
            aload 0 /* this */
            aload 1 /* array */
            putfield com.google.common.primitives.ImmutableDoubleArray.array:[D
         2: .line 356
            aload 0 /* this */
            iload 2 /* start */
            putfield com.google.common.primitives.ImmutableDoubleArray.start:I
         3: .line 357
            aload 0 /* this */
            iload 3 /* end */
            putfield com.google.common.primitives.ImmutableDoubleArray.end:I
         4: .line 358
            return
        end local 3 // int end
        end local 2 // int start
        end local 1 // double[] array
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    5     1  array  [D
            0    5     2  start  I
            0    5     3    end  I
    MethodParameters:
       Name  Flags
      array  
      start  
      end    

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 362
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            isub
            ireturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 367
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  public double get(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // int index
         0: .line 377
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            invokestatic com.google.common.base.Preconditions.checkElementIndex:(II)I
            pop
         1: .line 378
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            iload 1 /* index */
            iadd
            daload
            dreturn
        end local 1 // int index
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int indexOf(double);
    descriptor: (D)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // double target
         0: .line 387
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 388
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            iload 3 /* i */
            daload
            dload 1 /* target */
            invokestatic com.google.common.primitives.ImmutableDoubleArray.areEqual:(DD)Z
            ifeq 4
         3: .line 389
            iload 3 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            isub
            ireturn
         4: .line 387
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            if_icmplt 2
        end local 3 // int i
         6: .line 392
            iconst_m1
            ireturn
        end local 1 // double target
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    7     1  target  D
            1    6     3       i  I
    MethodParameters:
        Name  Flags
      target  

  public int lastIndexOf(double);
    descriptor: (D)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // double target
         0: .line 401
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 402
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            iload 3 /* i */
            daload
            dload 1 /* target */
            invokestatic com.google.common.primitives.ImmutableDoubleArray.areEqual:(DD)Z
            ifeq 4
         3: .line 403
            iload 3 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            isub
            ireturn
         4: .line 401
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            if_icmpge 2
        end local 3 // int i
         6: .line 406
            iconst_m1
            ireturn
        end local 1 // double target
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    7     1  target  D
            1    6     3       i  I
    MethodParameters:
        Name  Flags
      target  

  public boolean contains(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // double target
         0: .line 414
            aload 0 /* this */
            dload 1 /* target */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.indexOf:(D)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // double target
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    2     1  target  D
    MethodParameters:
        Name  Flags
      target  

  public void forEach(java.util.function.DoubleConsumer);
    descriptor: (Ljava/util/function/DoubleConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // java.util.function.DoubleConsumer consumer
         0: .line 419
            aload 1 /* consumer */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 420
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 421
      StackMap locals: int
      StackMap stack:
            aload 1 /* consumer */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            iload 2 /* i */
            daload
            invokeinterface java.util.function.DoubleConsumer.accept:(D)V
         4: .line 420
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            if_icmplt 3
        end local 2 // int i
         6: .line 423
            return
        end local 1 // java.util.function.DoubleConsumer consumer
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    7     1  consumer  Ljava/util/function/DoubleConsumer;
            2    6     2         i  I
    MethodParameters:
          Name  Flags
      consumer  

  public java.util.stream.DoubleStream stream();
    descriptor: ()Ljava/util/stream/DoubleStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 427
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            invokestatic java.util.Arrays.stream:([DII)Ljava/util/stream/DoubleStream;
            areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  public double[] toArray();
    descriptor: ()[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 432
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            invokestatic java.util.Arrays.copyOfRange:([DII)[D
            areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  public com.google.common.primitives.ImmutableDoubleArray subArray(int, int);
    descriptor: (II)Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // int startIndex
        start local 2 // int endIndex
         0: .line 443
            iload 1 /* startIndex */
            iload 2 /* endIndex */
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
         1: .line 444
            iload 1 /* startIndex */
            iload 2 /* endIndex */
            if_icmpne 3
         2: .line 445
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            goto 4
         3: .line 446
      StackMap locals:
      StackMap stack:
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            iload 1 /* startIndex */
            iadd
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            iload 2 /* endIndex */
            iadd
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([DII)V
         4: .line 444
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
            areturn
        end local 2 // int endIndex
        end local 1 // int startIndex
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0    5     1  startIndex  I
            0    5     2    endIndex  I
    MethodParameters:
            Name  Flags
      startIndex  
      endIndex    

  private java.util.Spliterator$OfDouble spliterator();
    descriptor: ()Ljava/util/Spliterator$OfDouble;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 450
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            sipush 1040
            invokestatic java.util.Spliterators.spliterator:([DIII)Ljava/util/Spliterator$OfDouble;
            areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  public java.util.List<java.lang.Double> asList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 466
            new com.google.common.primitives.ImmutableDoubleArray$AsList
            dup
            aload 0 /* this */
            invokespecial com.google.common.primitives.ImmutableDoubleArray$AsList.<init>:(Lcom/google/common/primitives/ImmutableDoubleArray;)V
            areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;
    Signature: ()Ljava/util/List<Ljava/lang/Double;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
        start local 1 // java.lang.Object object
         0: .line 556
            aload 1 /* object */
            aload 0 /* this */
            if_acmpne 2
         1: .line 557
            iconst_1
            ireturn
         2: .line 559
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            instanceof com.google.common.primitives.ImmutableDoubleArray
            ifne 4
         3: .line 560
            iconst_0
            ireturn
         4: .line 562
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            checkcast com.google.common.primitives.ImmutableDoubleArray
            astore 2 /* that */
        start local 2 // com.google.common.primitives.ImmutableDoubleArray that
         5: .line 563
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            aload 2 /* that */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            if_icmpeq 7
         6: .line 564
            iconst_0
            ireturn
         7: .line 566
      StackMap locals: com.google.common.primitives.ImmutableDoubleArray
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 567
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.get:(I)D
            aload 2 /* that */
            iload 3 /* i */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.get:(I)D
            invokestatic com.google.common.primitives.ImmutableDoubleArray.areEqual:(DD)Z
            ifne 11
        10: .line 568
            iconst_0
            ireturn
        11: .line 566
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            if_icmplt 9
        end local 3 // int i
        13: .line 571
            iconst_1
            ireturn
        end local 2 // com.google.common.primitives.ImmutableDoubleArray that
        end local 1 // java.lang.Object object
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/google/common/primitives/ImmutableDoubleArray;
            0   14     1  object  Ljava/lang/Object;
            5   14     2    that  Lcom/google/common/primitives/ImmutableDoubleArray;
            8   13     3       i  I
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      object  

  private static boolean areEqual(double, double);
    descriptor: (DD)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 576
            dload 0 /* a */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            dload 2 /* b */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  D
            0    2     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 582
            iconst_1
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 583
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 584
      StackMap locals: int int
      StackMap stack:
            iload 1 /* hash */
            bipush 31
            imul
            istore 1 /* hash */
         4: .line 585
            iload 1 /* hash */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            iload 2 /* i */
            daload
            invokestatic com.google.common.primitives.Doubles.hashCode:(D)I
            iadd
            istore 1 /* hash */
         5: .line 583
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            if_icmplt 3
        end local 2 // int i
         7: .line 587
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;
            1    8     1  hash  I
            2    7     2     i  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 596
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.isEmpty:()Z
            ifeq 2
         1: .line 597
            ldc "[]"
            areturn
         2: .line 599
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.length:()I
            iconst_5
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         3: .line 600
            aload 1 /* builder */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            pop
         4: .line 602
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            iconst_1
            iadd
            istore 2 /* i */
        start local 2 // int i
         5: goto 8
         6: .line 603
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* builder */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            iload 2 /* i */
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            pop
         7: .line 602
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            if_icmplt 6
        end local 2 // int i
         9: .line 605
            aload 1 /* builder */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 606
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/google/common/primitives/ImmutableDoubleArray;
            3   11     1  builder  Ljava/lang/StringBuilder;
            5    9     2        i  I

  public com.google.common.primitives.ImmutableDoubleArray trimmed();
    descriptor: ()Lcom/google/common/primitives/ImmutableDoubleArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 616
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.isPartialView:()Z
            ifeq 1
            new com.google.common.primitives.ImmutableDoubleArray
            dup
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.toArray:()[D
            invokespecial com.google.common.primitives.ImmutableDoubleArray.<init>:([D)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
         2: areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  private boolean isPartialView();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 620
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.start:I
            ifgt 1
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.end:I
            aload 0 /* this */
            getfield com.google.common.primitives.ImmutableDoubleArray.array:[D
            arraylength
            if_icmplt 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 624
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.trimmed:()Lcom/google/common/primitives/ImmutableDoubleArray;
            areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;

  java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.primitives.ImmutableDoubleArray this
         0: .line 628
            aload 0 /* this */
            invokevirtual com.google.common.primitives.ImmutableDoubleArray.isEmpty:()Z
            ifeq 1
            getstatic com.google.common.primitives.ImmutableDoubleArray.EMPTY:Lcom/google/common/primitives/ImmutableDoubleArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: com.google.common.primitives.ImmutableDoubleArray
         2: areturn
        end local 0 // com.google.common.primitives.ImmutableDoubleArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/primitives/ImmutableDoubleArray;
}
SourceFile: "ImmutableDoubleArray.java"
NestMembers:
  com.google.common.primitives.ImmutableDoubleArray$AsList  com.google.common.primitives.ImmutableDoubleArray$Builder
InnerClasses:
  AsList = com.google.common.primitives.ImmutableDoubleArray$AsList of com.google.common.primitives.ImmutableDoubleArray
  public final Builder = com.google.common.primitives.ImmutableDoubleArray$Builder of com.google.common.primitives.ImmutableDoubleArray
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.Immutable()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtCompatible()