public final class java.lang.Double extends java.lang.Number implements java.lang.Comparable<java.lang.Double>, java.lang.constant.Constable, java.lang.constant.ConstantDesc
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.Double
  super_class: java.lang.Number
{
  public static final double POSITIVE_INFINITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: Infinity

  public static final double NEGATIVE_INFINITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -Infinity

  public static final double NaN;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: NaN

  public static final double MAX_VALUE;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.7976931348623157E308

  public static final double MIN_NORMAL;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2.2250738585072014E-308

  public static final double MIN_VALUE;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4.9E-324

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

  public static final int MIN_EXPONENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1022

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

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

  public static final java.lang.Class<java.lang.Double> TYPE;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<Ljava/lang/Double;>;

  private final double value;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 145
            ldc "double"
            invokestatic java.lang.Class.getPrimitiveClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic java.lang.Double.TYPE:Ljava/lang/Class;
         1: .line 1106
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String toString(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 210
            dload 0 /* d */
            invokestatic jdk.internal.math.FloatingDecimal.toJavaFormatString:(D)Ljava/lang/String;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.String toHexString(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // double d
         0: .line 297
            dload 0 /* d */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 2
         1: .line 299
            dload 0 /* d */
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            areturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 24
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* answer */
        start local 2 // java.lang.StringBuilder answer
         3: .line 304
            dconst_1
            dload 0 /* d */
            invokestatic java.lang.Math.copySign:(DD)D
            ldc -1.0
            dcmpl
            ifne 5
         4: .line 305
            aload 2 /* answer */
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 307
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* answer */
            ldc "0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 309
            dload 0 /* d */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* d */
         7: .line 311
            dload 0 /* d */
            dconst_0
            dcmpl
            ifne 10
         8: .line 312
            aload 2 /* answer */
            ldc "0.0p0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 313
            goto 31
        10: .line 314
      StackMap locals:
      StackMap stack:
            dload 0 /* d */
            ldc 2.2250738585072014E-308
            dcmpg
            ifge 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 3 /* subnormal */
        start local 3 // boolean subnormal
        13: .line 319
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
        14: .line 320
            ldc 4503599627370495
        15: .line 319
            land
        16: .line 321
            ldc 1152921504606846976
        17: .line 319
            lor
            lstore 4 /* signifBits */
        start local 4 // long signifBits
        18: .line 325
            aload 2 /* answer */
            iload 3 /* subnormal */
            ifeq 19
            ldc "0."
            goto 20
      StackMap locals: double java.lang.StringBuilder int long
      StackMap stack: java.lang.StringBuilder
        19: ldc "1."
      StackMap locals: double java.lang.StringBuilder int long
      StackMap stack: java.lang.StringBuilder java.lang.String
        20: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 331
            lload 4 /* signifBits */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            iconst_3
            bipush 16
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* signif */
        start local 6 // java.lang.String signif
        22: .line 332
            aload 2 /* answer */
            aload 6 /* signif */
            ldc "0000000000000"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 333
            ldc "0"
            goto 25
        24: .line 334
      StackMap locals: double java.lang.StringBuilder int long java.lang.String
      StackMap stack: java.lang.StringBuilder
            aload 6 /* signif */
            ldc "0{1,12}$"
            ldc ""
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        25: .line 332
      StackMap locals: double java.lang.StringBuilder int long java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 336
            aload 2 /* answer */
            bipush 112
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 341
            aload 2 /* answer */
            iload 3 /* subnormal */
            ifeq 29
        28: .line 342
            sipush -1022
            goto 30
        29: .line 343
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            dload 0 /* d */
            invokestatic java.lang.Math.getExponent:(D)I
        30: .line 341
      StackMap locals: double java.lang.StringBuilder int long java.lang.String
      StackMap stack: java.lang.StringBuilder int
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.String signif
        end local 4 // long signifBits
        end local 3 // boolean subnormal
        31: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* answer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder answer
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   32     0           d  D
            3   32     2      answer  Ljava/lang/StringBuilder;
           13   31     3   subnormal  Z
           18   31     4  signifBits  J
           22   31     6      signif  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      d     

  public static java.lang.Double valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Double;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 512
            new java.lang.Double
            dup
            aload 0 /* s */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokespecial java.lang.Double.<init>:(D)V
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.Double valueOf(double);
    descriptor: (D)Ljava/lang/Double;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 530
            new java.lang.Double
            dup
            dload 0 /* d */
            invokespecial java.lang.Double.<init>:(D)V
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      d     

  public static double parseDouble(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 549
            aload 0 /* s */
            invokestatic jdk.internal.math.FloatingDecimal.parseDouble:(Ljava/lang/String;)D
            dreturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      s     

  public static boolean isNaN(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double v
         0: .line 561
            dload 0 /* v */
            dload 0 /* v */
            dcmpl
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  D
    MethodParameters:
      Name  Flags
      v     

  public static boolean isInfinite(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double v
         0: .line 573
            dload 0 /* v */
            ldc Infinity
            dcmpl
            ifeq 1
            dload 0 /* v */
            ldc -Infinity
            dcmpl
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  D
    MethodParameters:
      Name  Flags
      v     

  public static boolean isFinite(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 587
            dload 0 /* d */
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.7976931348623157E308
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public void <init>(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Double this
        start local 1 // double value
         0: .line 609
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 610
            aload 0 /* this */
            dload 1 /* value */
            putfield java.lang.Double.value:D
         2: .line 611
            return
        end local 1 // double value
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/lang/Double;
            0    3     1  value  D
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")
    MethodParameters:
       Name  Flags
      value  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Double this
        start local 1 // java.lang.String s
         0: .line 630
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 631
            aload 0 /* this */
            aload 1 /* s */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            putfield java.lang.Double.value:D
         2: .line 632
            return
        end local 1 // java.lang.String s
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Double;
            0    3     1     s  Ljava/lang/String;
    Exceptions:
      throws java.lang.NumberFormatException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")
    MethodParameters:
      Name  Flags
      s     

  public boolean isNaN();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 642
            aload 0 /* this */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.isNaN:(D)Z
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public boolean isInfinite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 654
            aload 0 /* this */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.isInfinite:(D)Z
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 667
            aload 0 /* this */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public byte byteValue();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 680
            aload 0 /* this */
            getfield java.lang.Double.value:D
            d2i
            i2b
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public short shortValue();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 693
            aload 0 /* this */
            getfield java.lang.Double.value:D
            d2i
            i2s
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public int intValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 705
            aload 0 /* this */
            getfield java.lang.Double.value:D
            d2i
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public long longValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 717
            aload 0 /* this */
            getfield java.lang.Double.value:D
            d2l
            lreturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public float floatValue();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 730
            aload 0 /* this */
            getfield java.lang.Double.value:D
            d2f
            freturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

  public double doubleValue();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 740
            aload 0 /* this */
            getfield java.lang.Double.value:D
            dreturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 766
            aload 0 /* this */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.hashCode:(D)I
            ireturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;

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

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Double this
        start local 1 // java.lang.Object obj
         0: .line 822
            aload 1 /* obj */
            instanceof java.lang.Double
            ifeq 5
         1: .line 823
            aload 1 /* obj */
            checkcast java.lang.Double
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
         2: .line 824
            aload 0 /* this */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
         3: .line 823
            lcmp
            ifne 5
         4: .line 822
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Double;
            0    6     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static long doubleToLongBits(double);
    descriptor: (D)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double value
         0: .line 861
            dload 0 /* value */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 2
         1: .line 862
            dload 0 /* value */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lreturn
         2: .line 864
      StackMap locals:
      StackMap stack:
            ldc 9221120237041090560
            lreturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  D
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
       Name  Flags
      value  

  public static native long doubleToRawLongBits(double);
    descriptor: (D)J
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
       Name  Flags
      value  

  public static native double longBitsToDouble(long);
    descriptor: (J)D
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      bits  

  public int compareTo(java.lang.Double);
    descriptor: (Ljava/lang/Double;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Double this
        start local 1 // java.lang.Double anotherDouble
         0: .line 1001
            aload 0 /* this */
            getfield java.lang.Double.value:D
            aload 1 /* anotherDouble */
            getfield java.lang.Double.value:D
            invokestatic java.lang.Double.compare:(DD)I
            ireturn
        end local 1 // java.lang.Double anotherDouble
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljava/lang/Double;
            0    1     1  anotherDouble  Ljava/lang/Double;
    MethodParameters:
               Name  Flags
      anotherDouble  

  public static int compare(double, double);
    descriptor: (DD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // double d1
        start local 2 // double d2
         0: .line 1023
            dload 0 /* d1 */
            dload 2 /* d2 */
            dcmpg
            ifge 2
         1: .line 1024
            iconst_m1
            ireturn
         2: .line 1025
      StackMap locals:
      StackMap stack:
            dload 0 /* d1 */
            dload 2 /* d2 */
            dcmpl
            ifle 4
         3: .line 1026
            iconst_1
            ireturn
         4: .line 1029
      StackMap locals:
      StackMap stack:
            dload 0 /* d1 */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 4 /* thisBits */
        start local 4 // long thisBits
         5: .line 1030
            dload 2 /* d2 */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 6 /* anotherBits */
        start local 6 // long anotherBits
         6: .line 1032
            lload 4 /* thisBits */
            lload 6 /* anotherBits */
            lcmp
            ifne 7
            iconst_0
            goto 9
         7: .line 1033
      StackMap locals: long long
      StackMap stack:
            lload 4 /* thisBits */
            lload 6 /* anotherBits */
            lcmp
            ifge 8
            iconst_m1
            goto 9
         8: .line 1034
      StackMap locals:
      StackMap stack:
            iconst_1
         9: .line 1032
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 6 // long anotherBits
        end local 4 // long thisBits
        end local 2 // double d2
        end local 0 // double d1
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0           d1  D
            0   10     2           d2  D
            5   10     4     thisBits  J
            6   10     6  anotherBits  J
    MethodParameters:
      Name  Flags
      d1    
      d2    

  public static double sum(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 1048
            dload 0 /* a */
            dload 2 /* b */
            dadd
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double max(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 1062
            dload 0 /* a */
            dload 2 /* b */
            invokestatic java.lang.Math.max:(DD)D
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static double min(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 1076
            dload 0 /* a */
            dload 2 /* b */
            invokestatic java.lang.Math.min:(DD)D
            dreturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  D
            0    1     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public java.util.Optional<java.lang.Double> describeConstable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Double this
         0: .line 1088
            aload 0 /* this */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Double;
    Signature: ()Ljava/util/Optional<Ljava/lang/Double;>;

  public java.lang.Double resolveConstantDesc(java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Double;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Double this
        start local 1 // java.lang.invoke.MethodHandles$Lookup lookup
         0: .line 1101
            aload 0 /* this */
            areturn
        end local 1 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 0 // java.lang.Double this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/lang/Double;
            0    1     1  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    MethodParameters:
        Name  Flags
      lookup  

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Double
            invokevirtual java.lang.Double.compareTo:(Ljava/lang/Double;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object resolveConstantDesc(java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual java.lang.Double.resolveConstantDesc:(Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.ReflectiveOperationException
}
Signature: Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Double;>;Ljava/lang/constant/Constable;Ljava/lang/constant/ConstantDesc;
SourceFile: "Double.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles