public class sun.misc.FloatingDecimal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.FloatingDecimal
  super_class: java.lang.Object
{
  static final int EXP_SHIFT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 52

  static final long FRACT_HOB;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4503599627370496

  static final long EXP_ONE;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4607182418800017408

  static final int MAX_SMALL_BIN_EXP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 62

  static final int MIN_SMALL_BIN_EXP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -21

  static final int MAX_DECIMAL_DIGITS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  static final int MAX_DECIMAL_EXPONENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 308

  static final int MIN_DECIMAL_EXPONENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -324

  static final int BIG_DECIMAL_EXPONENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 324

  static final int MAX_NDIGITS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1100

  static final int SINGLE_EXP_SHIFT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 23

  static final int SINGLE_FRACT_HOB;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8388608

  static final int SINGLE_MAX_DECIMAL_DIGITS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int SINGLE_MAX_DECIMAL_EXPONENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 38

  static final int SINGLE_MIN_DECIMAL_EXPONENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -45

  static final int SINGLE_MAX_NDIGITS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 200

  static final int INT_DECIMAL_DIGITS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final java.lang.String INFINITY_REP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Infinity"

  private static final int INFINITY_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NAN_REP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "NaN"

  private static final int NAN_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_INFINITY;
    descriptor: Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_INFINITY;
    descriptor: Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.FloatingDecimal$BinaryToASCIIConverter B2AC_NOT_A_NUMBER;
    descriptor: Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_ZERO;
    descriptor: Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.misc.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_ZERO;
    descriptor: Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.ThreadLocal<sun.misc.FloatingDecimal$BinaryToASCIIBuffer> threadLocalBinaryToASCIIBuffer;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;>;

  static final sun.misc.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_INFINITY;
    descriptor: Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.misc.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_INFINITY;
    descriptor: Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.misc.FloatingDecimal$ASCIIToBinaryConverter A2BC_NOT_A_NUMBER;
    descriptor: Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.misc.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_ZERO;
    descriptor: Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.misc.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_ZERO;
    descriptor: Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 37
            ldc Lsun/misc/FloatingDecimal;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.misc.FloatingDecimal.$assertionsDisabled:Z
         3: .line 246
            ldc "Infinity"
            invokevirtual java.lang.String.length:()I
            putstatic sun.misc.FloatingDecimal.INFINITY_LENGTH:I
         4: .line 248
            ldc "NaN"
            invokevirtual java.lang.String.length:()I
            putstatic sun.misc.FloatingDecimal.NAN_LENGTH:I
         5: .line 250
            new sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "Infinity"
            iconst_0
            invokespecial sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
         6: .line 251
            new sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "-Infinity"
            iconst_1
            invokespecial sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
         7: .line 252
            new sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "NaN"
            iconst_0
            invokespecial sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic sun.misc.FloatingDecimal.B2AC_NOT_A_NUMBER:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
         8: .line 253
            new sun.misc.FloatingDecimal$BinaryToASCIIBuffer
            dup
            iconst_0
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            invokespecial sun.misc.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
            putstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
         9: .line 254
            new sun.misc.FloatingDecimal$BinaryToASCIIBuffer
            dup
            iconst_1
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            invokespecial sun.misc.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
            putstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
        10: .line 978
            new sun.misc.FloatingDecimal$1
            dup
            invokespecial sun.misc.FloatingDecimal$1.<init>:()V
        11: .line 977
            putstatic sun.misc.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
        12: .line 1025
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc Infinity
            ldc Infinity
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        13: .line 1026
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc -Infinity
            ldc -Infinity
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        14: .line 1027
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc NaN
            ldc NaN
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic sun.misc.FloatingDecimal.A2BC_NOT_A_NUMBER:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        15: .line 1028
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            dconst_0
            fconst_0
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        16: .line 1029
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc -0.0
            ldc -0.0
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.FloatingDecimal this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.FloatingDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/FloatingDecimal;

  public static java.lang.String toJavaFormatString(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 70
            dload 0 /* d */
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIConverter:(D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            invokeinterface sun.misc.FloatingDecimal$BinaryToASCIIConverter.toJavaFormatString:()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 toJavaFormatString(float);
    descriptor: (F)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 80
            fload 0 /* f */
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIConverter:(F)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            invokeinterface sun.misc.FloatingDecimal$BinaryToASCIIConverter.toJavaFormatString:()Ljava/lang/String;
            areturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static void appendTo(double, java.lang.Appendable);
    descriptor: (DLjava/lang/Appendable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // double d
        start local 2 // java.lang.Appendable buf
         0: .line 89
            dload 0 /* d */
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIConverter:(D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            aload 2 /* buf */
            invokeinterface sun.misc.FloatingDecimal$BinaryToASCIIConverter.appendTo:(Ljava/lang/Appendable;)V
         1: .line 90
            return
        end local 2 // java.lang.Appendable buf
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
            0    2     2   buf  Ljava/lang/Appendable;
    MethodParameters:
      Name  Flags
      d     
      buf   

  public static void appendTo(float, java.lang.Appendable);
    descriptor: (FLjava/lang/Appendable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float f
        start local 1 // java.lang.Appendable buf
         0: .line 98
            fload 0 /* f */
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIConverter:(F)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            aload 1 /* buf */
            invokeinterface sun.misc.FloatingDecimal$BinaryToASCIIConverter.appendTo:(Ljava/lang/Appendable;)V
         1: .line 99
            return
        end local 1 // java.lang.Appendable buf
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     f  F
            0    2     1   buf  Ljava/lang/Appendable;
    MethodParameters:
      Name  Flags
      f     
      buf   

  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 110
            aload 0 /* s */
            invokestatic sun.misc.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            invokeinterface sun.misc.FloatingDecimal$ASCIIToBinaryConverter.doubleValue:()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 float parseFloat(java.lang.String);
    descriptor: (Ljava/lang/String;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 122
            aload 0 /* s */
            invokestatic sun.misc.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            invokeinterface sun.misc.FloatingDecimal$ASCIIToBinaryConverter.floatValue:()F
            freturn
        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     

  private static sun.misc.FloatingDecimal$BinaryToASCIIBuffer getBinaryToASCIIBuffer();
    descriptor: ()Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 986
            getstatic sun.misc.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast sun.misc.FloatingDecimal$BinaryToASCIIBuffer
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double);
    descriptor: (D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // double d
         0: .line 1738
            dload 0 /* d */
            iconst_1
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIConverter:(DZ)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  static sun.misc.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double, boolean);
    descriptor: (DZ)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // double d
        start local 2 // boolean isCompatibleFormat
         0: .line 1750
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 3 /* dBits */
        start local 3 // long dBits
         1: .line 1751
            lload 3 /* dBits */
            ldc -9223372036854775808
            land
            lconst_0
            lcmp
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isNegative */
        start local 5 // boolean isNegative
         4: .line 1752
            lload 3 /* dBits */
            ldc 4503599627370495
            land
            lstore 6 /* fractBits */
        start local 6 // long fractBits
         5: .line 1753
            lload 3 /* dBits */
            ldc 9218868437227405312
            land
            bipush 52
            lshr
            l2i
            istore 8 /* binExp */
        start local 8 // int binExp
         6: .line 1755
            iload 8 /* binExp */
            sipush 2047
            if_icmpne 12
         7: .line 1756
            lload 6 /* fractBits */
            lconst_0
            lcmp
            ifne 11
         8: .line 1757
            iload 5 /* isNegative */
            ifeq 9
            getstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            goto 10
      StackMap locals: int long int
      StackMap stack:
         9: getstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIConverter
        10: areturn
        11: .line 1759
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FloatingDecimal.B2AC_NOT_A_NUMBER:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            areturn
        12: .line 1767
      StackMap locals:
      StackMap stack:
            iload 8 /* binExp */
            ifne 23
        13: .line 1768
            lload 6 /* fractBits */
            lconst_0
            lcmp
            ifne 17
        14: .line 1770
            iload 5 /* isNegative */
            ifeq 15
            getstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIConverter
        16: areturn
        17: .line 1772
      StackMap locals:
      StackMap stack:
            lload 6 /* fractBits */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            istore 10 /* leadingZeros */
        start local 10 // int leadingZeros
        18: .line 1773
            iload 10 /* leadingZeros */
            bipush 11
            isub
            istore 11 /* shift */
        start local 11 // int shift
        19: .line 1774
            lload 6 /* fractBits */
            iload 11 /* shift */
            lshl
            lstore 6 /* fractBits */
        20: .line 1775
            iconst_1
            iload 11 /* shift */
            isub
            istore 8 /* binExp */
        21: .line 1776
            bipush 64
            iload 10 /* leadingZeros */
            isub
            istore 9 /* nSignificantBits */
        end local 11 // int shift
        end local 10 // int leadingZeros
        start local 9 // int nSignificantBits
        22: .line 1777
            goto 25
        end local 9 // int nSignificantBits
        23: .line 1778
      StackMap locals:
      StackMap stack:
            lload 6 /* fractBits */
            ldc 4503599627370496
            lor
            lstore 6 /* fractBits */
        24: .line 1779
            bipush 53
            istore 9 /* nSignificantBits */
        start local 9 // int nSignificantBits
        25: .line 1781
      StackMap locals: int
      StackMap stack:
            iinc 8 /* binExp */ -1023
        26: .line 1782
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIBuffer:()Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
            astore 10 /* buf */
        start local 10 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer buf
        27: .line 1783
            aload 10 /* buf */
            iload 5 /* isNegative */
            invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.setSign:(Z)V
        28: .line 1785
            aload 10 /* buf */
            iload 8 /* binExp */
            lload 6 /* fractBits */
            iload 9 /* nSignificantBits */
            iload 2 /* isCompatibleFormat */
            invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
        29: .line 1786
            aload 10 /* buf */
            areturn
        end local 10 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer buf
        end local 9 // int nSignificantBits
        end local 8 // int binExp
        end local 6 // long fractBits
        end local 5 // boolean isNegative
        end local 3 // long dBits
        end local 2 // boolean isCompatibleFormat
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   30     0                   d  D
            0   30     2  isCompatibleFormat  Z
            1   30     3               dBits  J
            4   30     5          isNegative  Z
            5   30     6           fractBits  J
            6   30     8              binExp  I
           22   23     9    nSignificantBits  I
           25   30     9    nSignificantBits  I
           18   22    10        leadingZeros  I
           19   22    11               shift  I
           27   30    10                 buf  Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
    MethodParameters:
                    Name  Flags
      d                   
      isCompatibleFormat  

  private static sun.misc.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(float);
    descriptor: (F)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // float f
         0: .line 1790
            fload 0 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 1 /* fBits */
        start local 1 // int fBits
         1: .line 1791
            iload 1 /* fBits */
            ldc -2147483648
            iand
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* isNegative */
        start local 2 // boolean isNegative
         4: .line 1792
            iload 1 /* fBits */
            ldc 8388607
            iand
            istore 3 /* fractBits */
        start local 3 // int fractBits
         5: .line 1793
            iload 1 /* fBits */
            ldc 2139095040
            iand
            bipush 23
            ishr
            istore 4 /* binExp */
        start local 4 // int binExp
         6: .line 1795
            iload 4 /* binExp */
            sipush 255
            if_icmpne 12
         7: .line 1796
            iload 3 /* fractBits */
            i2l
            lconst_0
            lcmp
            ifne 11
         8: .line 1797
            iload 2 /* isNegative */
            ifeq 9
            getstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            goto 10
      StackMap locals: int int int
      StackMap stack:
         9: getstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIConverter
        10: areturn
        11: .line 1799
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.FloatingDecimal.B2AC_NOT_A_NUMBER:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            areturn
        12: .line 1807
      StackMap locals:
      StackMap stack:
            iload 4 /* binExp */
            ifne 23
        13: .line 1808
            iload 3 /* fractBits */
            ifne 17
        14: .line 1810
            iload 2 /* isNegative */
            ifeq 15
            getstatic sun.misc.FloatingDecimal.B2AC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic sun.misc.FloatingDecimal.B2AC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIConverter
        16: areturn
        17: .line 1812
      StackMap locals:
      StackMap stack:
            iload 3 /* fractBits */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            istore 6 /* leadingZeros */
        start local 6 // int leadingZeros
        18: .line 1813
            iload 6 /* leadingZeros */
            bipush 8
            isub
            istore 7 /* shift */
        start local 7 // int shift
        19: .line 1814
            iload 3 /* fractBits */
            iload 7 /* shift */
            ishl
            istore 3 /* fractBits */
        20: .line 1815
            iconst_1
            iload 7 /* shift */
            isub
            istore 4 /* binExp */
        21: .line 1816
            bipush 32
            iload 6 /* leadingZeros */
            isub
            istore 5 /* nSignificantBits */
        end local 7 // int shift
        end local 6 // int leadingZeros
        start local 5 // int nSignificantBits
        22: .line 1817
            goto 25
        end local 5 // int nSignificantBits
        23: .line 1818
      StackMap locals:
      StackMap stack:
            iload 3 /* fractBits */
            ldc 8388608
            ior
            istore 3 /* fractBits */
        24: .line 1819
            bipush 24
            istore 5 /* nSignificantBits */
        start local 5 // int nSignificantBits
        25: .line 1821
      StackMap locals: int
      StackMap stack:
            iinc 4 /* binExp */ -127
        26: .line 1822
            invokestatic sun.misc.FloatingDecimal.getBinaryToASCIIBuffer:()Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
            astore 6 /* buf */
        start local 6 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer buf
        27: .line 1823
            aload 6 /* buf */
            iload 2 /* isNegative */
            invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.setSign:(Z)V
        28: .line 1825
            aload 6 /* buf */
            iload 4 /* binExp */
            iload 3 /* fractBits */
            i2l
            bipush 29
            lshl
            iload 5 /* nSignificantBits */
            iconst_1
            invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
        29: .line 1826
            aload 6 /* buf */
            areturn
        end local 6 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer buf
        end local 5 // int nSignificantBits
        end local 4 // int binExp
        end local 3 // int fractBits
        end local 2 // boolean isNegative
        end local 1 // int fBits
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0                 f  F
            1   30     1             fBits  I
            4   30     2        isNegative  Z
            5   30     3         fractBits  I
            6   30     4            binExp  I
           22   23     5  nSignificantBits  I
           25   30     5  nSignificantBits  I
           18   22     6      leadingZeros  I
           19   22     7             shift  I
           27   30     6               buf  Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
    MethodParameters:
      Name  Flags
      f     

  static sun.misc.FloatingDecimal$ASCIIToBinaryConverter readJavaFormatString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=20, args_size=1
        start local 0 // java.lang.String in
         0: .line 1831
            iconst_0
            istore 1 /* isNegative */
        start local 1 // boolean isNegative
         1: .line 1832
            iconst_0
            istore 2 /* signSeen */
        start local 2 // boolean signSeen
         2: .line 1838
            aload 0 /* in */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* in */
         3: .line 1840
            aload 0 /* in */
            invokevirtual java.lang.String.length:()I
            istore 5 /* len */
        start local 5 // int len
         4: .line 1841
            iload 5 /* len */
            ifne 6
         5: .line 1842
            new java.lang.NumberFormatException
            dup
            ldc "empty String"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1844
      StackMap locals: java.lang.String int int top top int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: .line 1845
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 43 - 45
                   43: 9
                   44: 11
                   45: 8
              default: 11
          }
         8: .line 1847
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* isNegative */
         9: .line 1850
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        10: .line 1851
            iconst_1
            istore 2 /* signSeen */
        11: .line 1853
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        12: .line 1854
            iload 4 /* c */
            bipush 78
            if_icmpne 16
        13: .line 1855
            iload 5 /* len */
            iload 6 /* i */
            isub
            getstatic sun.misc.FloatingDecimal.NAN_LENGTH:I
            if_icmpne 116
            aload 0 /* in */
            ldc "NaN"
            iload 6 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iload 6 /* i */
            if_icmpne 116
        14: .line 1856
            getstatic sun.misc.FloatingDecimal.A2BC_NOT_A_NUMBER:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        15: areturn
        16: .line 1860
      StackMap locals: java.lang.String int int top int int int
      StackMap stack:
            iload 4 /* c */
            bipush 73
            if_icmpne 21
        17: .line 1861
            iload 5 /* len */
            iload 6 /* i */
            isub
            getstatic sun.misc.FloatingDecimal.INFINITY_LENGTH:I
            if_icmpne 116
            aload 0 /* in */
            ldc "Infinity"
            iload 6 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iload 6 /* i */
            if_icmpne 116
        18: .line 1862
            iload 1 /* isNegative */
            ifeq 19
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 20
      StackMap locals:
      StackMap stack:
        19: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
        20: areturn
        21: .line 1866
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 48
            if_icmpne 27
        22: .line 1867
            iload 5 /* len */
            iload 6 /* i */
            iconst_1
            iadd
            if_icmple 27
        23: .line 1868
            aload 0 /* in */
            iload 6 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* ch */
        start local 7 // char ch
        24: .line 1869
            iload 7 /* ch */
            bipush 120
            if_icmpeq 25
            iload 7 /* ch */
            bipush 88
            if_icmpne 27
        25: .line 1870
      StackMap locals: int
      StackMap stack:
            aload 0 /* in */
            invokestatic sun.misc.FloatingDecimal.parseHexString:(Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        26: areturn
        end local 7 // char ch
        27: .line 1875
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            newarray 5
            astore 7 /* digits */
        start local 7 // char[] digits
        28: .line 1876
            iconst_0
            istore 8 /* nDigits */
        start local 8 // int nDigits
        29: .line 1877
            iconst_0
            istore 9 /* decSeen */
        start local 9 // boolean decSeen
        30: .line 1878
            iconst_0
            istore 10 /* decPt */
        start local 10 // int decPt
        31: .line 1879
            iconst_0
            istore 11 /* nLeadZero */
        start local 11 // int nLeadZero
        32: .line 1880
            iconst_0
            istore 12 /* nTrailZero */
        start local 12 // int nTrailZero
        33: .line 1883
            goto 46
        34: .line 1884
      StackMap locals: java.lang.String int int top int int int char[] int int int int int
      StackMap stack:
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        35: .line 1885
            iload 4 /* c */
            bipush 48
            if_icmpne 38
        36: .line 1886
            iinc 11 /* nLeadZero */ 1
        37: .line 1887
            goto 45
      StackMap locals:
      StackMap stack:
        38: iload 4 /* c */
            bipush 46
            if_icmpne 65
        39: .line 1888
            iload 9 /* decSeen */
            ifeq 41
        40: .line 1890
            new java.lang.NumberFormatException
            dup
            ldc "multiple points"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 1892
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 10 /* decPt */
        42: .line 1893
            iload 2 /* signSeen */
            ifeq 44
        43: .line 1894
            iinc 10 /* decPt */ -1
        44: .line 1896
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* decSeen */
        45: .line 1900
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        46: .line 1883
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 5 /* len */
            if_icmplt 34
        47: .line 1903
            goto 65
        48: .line 1904
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        49: .line 1905
            iload 4 /* c */
            bipush 49
            if_icmplt 53
            iload 4 /* c */
            bipush 57
            if_icmpgt 53
        50: .line 1906
            aload 7 /* digits */
            iload 8 /* nDigits */
            iinc 8 /* nDigits */ 1
            iload 4 /* c */
            castore
        51: .line 1907
            iconst_0
            istore 12 /* nTrailZero */
        52: .line 1908
            goto 64
      StackMap locals:
      StackMap stack:
        53: iload 4 /* c */
            bipush 48
            if_icmpne 57
        54: .line 1909
            aload 7 /* digits */
            iload 8 /* nDigits */
            iinc 8 /* nDigits */ 1
            iload 4 /* c */
            castore
        55: .line 1910
            iinc 12 /* nTrailZero */ 1
        56: .line 1911
            goto 64
      StackMap locals:
      StackMap stack:
        57: iload 4 /* c */
            bipush 46
            if_icmpne 66
        58: .line 1912
            iload 9 /* decSeen */
            ifeq 60
        59: .line 1914
            new java.lang.NumberFormatException
            dup
            ldc "multiple points"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1916
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 10 /* decPt */
        61: .line 1917
            iload 2 /* signSeen */
            ifeq 63
        62: .line 1918
            iinc 10 /* decPt */ -1
        63: .line 1920
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* decSeen */
        64: .line 1924
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        65: .line 1903
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 5 /* len */
            if_icmplt 48
        66: .line 1926
      StackMap locals:
      StackMap stack:
            iload 8 /* nDigits */
            iload 12 /* nTrailZero */
            isub
            istore 8 /* nDigits */
        67: .line 1946
            iload 8 /* nDigits */
            ifne 68
            iconst_1
            goto 69
      StackMap locals:
      StackMap stack:
        68: iconst_0
      StackMap locals:
      StackMap stack: int
        69: istore 13 /* isZero */
        start local 13 // boolean isZero
        70: .line 1947
            iload 13 /* isZero */
            ifeq 72
            iload 11 /* nLeadZero */
            ifne 72
        71: .line 1951
            goto 116
        72: .line 1958
      StackMap locals: int
      StackMap stack:
            iload 9 /* decSeen */
            ifeq 75
        73: .line 1959
            iload 10 /* decPt */
            iload 11 /* nLeadZero */
            isub
            istore 3 /* decExp */
        start local 3 // int decExp
        74: .line 1960
            goto 76
        end local 3 // int decExp
        75: .line 1961
      StackMap locals:
      StackMap stack:
            iload 8 /* nDigits */
            iload 12 /* nTrailZero */
            iadd
            istore 3 /* decExp */
        start local 3 // int decExp
        76: .line 1967
      StackMap locals: java.lang.String int int int int int int char[] int int int int int int
      StackMap stack:
            iload 6 /* i */
            iload 5 /* len */
            if_icmpge 102
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 4 /* c */
            bipush 101
            if_icmpeq 77
            iload 4 /* c */
            bipush 69
            if_icmpne 102
        77: .line 1968
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* expSign */
        start local 14 // int expSign
        78: .line 1969
            iconst_0
            istore 15 /* expVal */
        start local 15 // int expVal
        79: .line 1970
            ldc 214748364
            istore 16 /* reallyBig */
        start local 16 // int reallyBig
        80: .line 1971
            iconst_0
            istore 17 /* expOverflow */
        start local 17 // boolean expOverflow
        81: .line 1972
            aload 0 /* in */
            iinc 6 /* i */ 1
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 43 - 45
                   43: 83
                   44: 84
                   45: 82
              default: 84
          }
        82: .line 1974
      StackMap locals: java.lang.String int int int int int int char[] int int int int int int int int int int
      StackMap stack:
            iconst_m1
            istore 14 /* expSign */
        83: .line 1977
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        84: .line 1979
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 18 /* expAt */
        start local 18 // int expAt
        85: .line 1981
            goto 94
        86: .line 1982
      StackMap locals: int
      StackMap stack:
            iload 15 /* expVal */
            iload 16 /* reallyBig */
            if_icmplt 88
        87: .line 1985
            iconst_1
            istore 17 /* expOverflow */
        88: .line 1987
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            iload 6 /* i */
            iinc 6 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        89: .line 1988
            iload 4 /* c */
            bipush 48
            if_icmplt 92
            iload 4 /* c */
            bipush 57
            if_icmpgt 92
        90: .line 1989
            iload 15 /* expVal */
            bipush 10
            imul
            iload 4 /* c */
            bipush 48
            isub
            iadd
            istore 15 /* expVal */
        91: .line 1990
            goto 94
        92: .line 1991
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ -1
        93: .line 1992
            goto 95
        94: .line 1981
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 5 /* len */
            if_icmplt 86
        95: .line 1995
      StackMap locals:
      StackMap stack:
            sipush 324
            iload 8 /* nDigits */
            iadd
            iload 12 /* nTrailZero */
            iadd
            istore 19 /* expLimit */
        start local 19 // int expLimit
        96: .line 1996
            iload 17 /* expOverflow */
            ifne 97
            iload 15 /* expVal */
            iload 19 /* expLimit */
            if_icmple 99
        97: .line 2009
      StackMap locals: int
      StackMap stack:
            iload 14 /* expSign */
            iload 19 /* expLimit */
            imul
            istore 3 /* decExp */
        98: .line 2010
            goto 100
        99: .line 2013
      StackMap locals:
      StackMap stack:
            iload 3 /* decExp */
            iload 14 /* expSign */
            iload 15 /* expVal */
            imul
            iadd
            istore 3 /* decExp */
       100: .line 2022
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 18 /* expAt */
            if_icmpne 102
       101: .line 2023
            goto 116
        end local 19 // int expLimit
        end local 18 // int expAt
        end local 17 // boolean expOverflow
        end local 16 // int reallyBig
        end local 15 // int expVal
        end local 14 // int expSign
       102: .line 2030
      StackMap locals: java.lang.String int int int int int int char[] int int int int int int
      StackMap stack:
            iload 6 /* i */
            iload 5 /* len */
            if_icmpge 109
       103: .line 2031
            iload 6 /* i */
            iload 5 /* len */
            iconst_1
            isub
            if_icmpne 116
       104: .line 2032
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 102
            if_icmpeq 109
       105: .line 2033
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 70
            if_icmpeq 109
       106: .line 2034
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 100
            if_icmpeq 109
       107: .line 2035
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 68
            if_icmpeq 109
       108: .line 2036
            goto 116
       109: .line 2038
      StackMap locals:
      StackMap stack:
            iload 13 /* isZero */
            ifeq 113
       110: .line 2039
            iload 1 /* isNegative */
            ifeq 111
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 112
      StackMap locals:
      StackMap stack:
       111: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
       112: areturn
       113: .line 2041
      StackMap locals:
      StackMap stack:
            new sun.misc.FloatingDecimal$ASCIIToBinaryBuffer
            dup
            iload 1 /* isNegative */
            iload 3 /* decExp */
            aload 7 /* digits */
            iload 8 /* nDigits */
            invokespecial sun.misc.FloatingDecimal$ASCIIToBinaryBuffer.<init>:(ZI[CI)V
       114: areturn
        end local 13 // boolean isZero
        end local 12 // int nTrailZero
        end local 11 // int nLeadZero
        end local 10 // int decPt
        end local 9 // boolean decSeen
        end local 8 // int nDigits
        end local 7 // char[] digits
        end local 6 // int i
        end local 5 // int len
        end local 4 // char c
        end local 3 // int decExp
       115: .line 2042
      StackMap locals: java.lang.String int int
      StackMap stack: java.lang.StringIndexOutOfBoundsException
            pop
       116: .line 2043
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "For input string: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* in */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean signSeen
        end local 1 // boolean isNegative
        end local 0 // java.lang.String in
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  117     0           in  Ljava/lang/String;
            1  117     1   isNegative  Z
            2  117     2     signSeen  Z
           74   75     3       decExp  I
           76  115     3       decExp  I
           12  115     4            c  C
            4  115     5          len  I
            7  115     6            i  I
           24   27     7           ch  C
           28  115     7       digits  [C
           29  115     8      nDigits  I
           30  115     9      decSeen  Z
           31  115    10        decPt  I
           32  115    11    nLeadZero  I
           33  115    12   nTrailZero  I
           70  115    13       isZero  Z
           78  102    14      expSign  I
           79  102    15       expVal  I
           80  102    16    reallyBig  I
           81  102    17  expOverflow  Z
           85  102    18        expAt  I
           96  102    19     expLimit  I
      Exception table:
        from    to  target  type
           2    15     115  Class java.lang.StringIndexOutOfBoundsException
          16    20     115  Class java.lang.StringIndexOutOfBoundsException
          21    26     115  Class java.lang.StringIndexOutOfBoundsException
          27    71     115  Class java.lang.StringIndexOutOfBoundsException
          72   101     115  Class java.lang.StringIndexOutOfBoundsException
         102   108     115  Class java.lang.StringIndexOutOfBoundsException
         109   112     115  Class java.lang.StringIndexOutOfBoundsException
         113   114     115  Class java.lang.StringIndexOutOfBoundsException
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      in    

  static sun.misc.FloatingDecimal$ASCIIToBinaryConverter parseHexString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=29, args_size=1
        start local 0 // java.lang.String s
         0: .line 2067
            getstatic sun.misc.FloatingDecimal$HexFloatPattern.VALUE:Ljava/util/regex/Pattern;
            aload 0 /* s */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* m */
        start local 1 // java.util.regex.Matcher m
         1: .line 2068
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            istore 2 /* validInput */
        start local 2 // boolean validInput
         2: .line 2069
            iload 2 /* validInput */
            ifne 4
         3: .line 2071
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "For input string: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2097
      StackMap locals: java.util.regex.Matcher int
      StackMap stack:
            aload 1 /* m */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 3 /* group1 */
        start local 3 // java.lang.String group1
         5: .line 2098
            aload 3 /* group1 */
            ifnull 6
            aload 3 /* group1 */
            ldc "-"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* isNegative */
        start local 4 // boolean isNegative
         8: .line 2129
            aconst_null
            astore 5 /* significandString */
        start local 5 // java.lang.String significandString
         9: .line 2130
            iconst_0
            istore 6 /* signifLength */
        start local 6 // int signifLength
        10: .line 2131
            iconst_0
            istore 7 /* exponentAdjust */
        start local 7 // int exponentAdjust
        11: .line 2133
            iconst_0
            istore 8 /* leftDigits */
        start local 8 // int leftDigits
        12: .line 2136
            iconst_0
            istore 9 /* rightDigits */
        start local 9 // int rightDigits
        13: .line 2150
            aload 1 /* m */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            dup
            astore 10 /* group4 */
        start local 10 // java.lang.String group4
        14: ifnull 18
        15: .line 2152
            aload 10 /* group4 */
            invokestatic sun.misc.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* significandString */
        16: .line 2153
            aload 5 /* significandString */
            invokevirtual java.lang.String.length:()I
            istore 8 /* leftDigits */
        17: .line 2154
            goto 28
        18: .line 2157
      StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String
      StackMap stack:
            aload 1 /* m */
            bipush 6
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic sun.misc.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* group6 */
        start local 11 // java.lang.String group6
        19: .line 2158
            aload 11 /* group6 */
            invokevirtual java.lang.String.length:()I
            istore 8 /* leftDigits */
        20: .line 2161
            aload 1 /* m */
            bipush 7
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 12 /* group7 */
        start local 12 // java.lang.String group7
        21: .line 2162
            aload 12 /* group7 */
            invokevirtual java.lang.String.length:()I
            istore 9 /* rightDigits */
        22: .line 2166
            new java.lang.StringBuilder
            dup
            aload 11 /* group6 */
            ifnonnull 23
            ldc ""
            goto 24
      StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String java.lang.String java.lang.String
      StackMap stack: new 22 new 22
        23: aload 11 /* group6 */
      StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String java.lang.String java.lang.String
      StackMap stack: new 22 new 22 java.lang.String
        24: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 2168
            aload 12 /* group7 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2166
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2165
            astore 5 /* significandString */
        end local 12 // java.lang.String group7
        end local 11 // java.lang.String group6
        28: .line 2171
      StackMap locals:
      StackMap stack:
            aload 5 /* significandString */
            invokestatic sun.misc.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* significandString */
        29: .line 2172
            aload 5 /* significandString */
            invokevirtual java.lang.String.length:()I
            istore 6 /* signifLength */
        30: .line 2177
            iload 8 /* leftDigits */
            iconst_1
            if_icmplt 33
        31: .line 2178
            iconst_4
            iload 8 /* leftDigits */
            iconst_1
            isub
            imul
            istore 7 /* exponentAdjust */
        32: .line 2179
            goto 34
        33: .line 2180
      StackMap locals:
      StackMap stack:
            bipush -4
            iload 9 /* rightDigits */
            iload 6 /* signifLength */
            isub
            iconst_1
            iadd
            imul
            istore 7 /* exponentAdjust */
        34: .line 2186
      StackMap locals:
      StackMap stack:
            iload 6 /* signifLength */
            ifne 38
        35: .line 2187
            iload 4 /* isNegative */
            ifeq 36
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 37
      StackMap locals:
      StackMap stack:
        36: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
        37: areturn
        end local 10 // java.lang.String group4
        end local 9 // int rightDigits
        end local 8 // int leftDigits
        38: .line 2199
      StackMap locals:
      StackMap stack:
            aload 1 /* m */
            bipush 8
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* group8 */
        start local 8 // java.lang.String group8
        39: .line 2200
            aload 8 /* group8 */
            ifnull 40
            aload 8 /* group8 */
            ldc "+"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
            iconst_0
            goto 41
      StackMap locals: java.lang.String
      StackMap stack:
        40: iconst_1
      StackMap locals:
      StackMap stack: int
        41: istore 9 /* positiveExponent */
        start local 9 // boolean positiveExponent
        42: .line 2203
            aload 1 /* m */
            bipush 9
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            i2l
            lstore 10 /* unsignedRawExponent */
        start local 10 // long unsignedRawExponent
        43: .line 2204
            goto 51
        end local 10 // long unsignedRawExponent
        44: .line 2205
      StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int java.lang.String int
      StackMap stack: java.lang.NumberFormatException
            pop
        45: .line 2219
            iload 4 /* isNegative */
            ifeq 48
        46: .line 2220
            iload 9 /* positiveExponent */
            ifeq 47
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
      StackMap locals:
      StackMap stack:
        47: getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
        48: .line 2221
      StackMap locals:
      StackMap stack:
            iload 9 /* positiveExponent */
            ifeq 49
            getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
      StackMap locals:
      StackMap stack:
        49: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
        50: .line 2219
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
            areturn
        start local 10 // long unsignedRawExponent
        51: .line 2226
      StackMap locals: long
      StackMap stack:
            iload 9 /* positiveExponent */
            ifeq 52
            lconst_1
            goto 53
      StackMap locals:
      StackMap stack:
        52: ldc -1
        53: .line 2227
      StackMap locals:
      StackMap stack: long
            lload 10 /* unsignedRawExponent */
        54: .line 2226
            lmul
        55: .line 2225
            lstore 12 /* rawExponent */
        start local 12 // long rawExponent
        56: .line 2230
            lload 12 /* rawExponent */
            iload 7 /* exponentAdjust */
            i2l
            ladd
            lstore 14 /* exponent */
        start local 14 // long exponent
        57: .line 2236
            iconst_0
            istore 16 /* round */
        start local 16 // boolean round
        58: .line 2237
            iconst_0
            istore 17 /* sticky */
        start local 17 // boolean sticky
        59: .line 2238
            iconst_0
            istore 18 /* nextShift */
        start local 18 // int nextShift
        60: .line 2239
            lconst_0
            lstore 19 /* significand */
        start local 19 // long significand
        61: .line 2246
            aload 5 /* significandString */
            iconst_0
            invokestatic sun.misc.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 21 /* leadingDigit */
        start local 21 // long leadingDigit
        62: .line 2257
            lload 21 /* leadingDigit */
            lconst_1
            lcmp
            ifne 66
        63: .line 2258
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 52
            lshl
            lor
            lstore 19 /* significand */
        64: .line 2259
            bipush 48
            istore 18 /* nextShift */
        65: .line 2261
            goto 82
      StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int java.lang.String int long long long int int int long long
      StackMap stack:
        66: lload 21 /* leadingDigit */
            ldc 3
            lcmp
            ifgt 71
        67: .line 2262
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 51
            lshl
            lor
            lstore 19 /* significand */
        68: .line 2263
            bipush 47
            istore 18 /* nextShift */
        69: .line 2264
            lload 14 /* exponent */
            lconst_1
            ladd
            lstore 14 /* exponent */
        70: .line 2265
            goto 82
      StackMap locals:
      StackMap stack:
        71: lload 21 /* leadingDigit */
            ldc 7
            lcmp
            ifgt 76
        72: .line 2266
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 50
            lshl
            lor
            lstore 19 /* significand */
        73: .line 2267
            bipush 46
            istore 18 /* nextShift */
        74: .line 2268
            lload 14 /* exponent */
            ldc 2
            ladd
            lstore 14 /* exponent */
        75: .line 2269
            goto 82
      StackMap locals:
      StackMap stack:
        76: lload 21 /* leadingDigit */
            ldc 15
            lcmp
            ifgt 81
        77: .line 2270
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 49
            lshl
            lor
            lstore 19 /* significand */
        78: .line 2271
            bipush 45
            istore 18 /* nextShift */
        79: .line 2272
            lload 14 /* exponent */
            ldc 3
            ladd
            lstore 14 /* exponent */
        80: .line 2273
            goto 82
        81: .line 2274
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Result from digit conversion too large!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        82: .line 2295
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        83: .line 2296
            iconst_1
            istore 23 /* i */
        84: .line 2297
            goto 89
        85: .line 2299
      StackMap locals: int
      StackMap stack:
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic sun.misc.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
        start local 24 // long currentDigit
        86: .line 2300
            lload 19 /* significand */
            lload 24 /* currentDigit */
            iload 18 /* nextShift */
            lshl
            lor
            lstore 19 /* significand */
        87: .line 2301
            iinc 18 /* nextShift */ -4
        end local 24 // long currentDigit
        88: .line 2298
            iinc 23 /* i */ 1
        89: .line 2297
      StackMap locals:
      StackMap stack:
            iload 23 /* i */
            iload 6 /* signifLength */
            if_icmpge 91
            iload 18 /* nextShift */
        90: .line 2296
            ifge 85
        91: .line 2309
      StackMap locals:
      StackMap stack:
            iload 23 /* i */
            iload 6 /* signifLength */
            if_icmpge 131
        92: .line 2310
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic sun.misc.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
        start local 24 // long currentDigit
        93: .line 2314
            iload 18 /* nextShift */
            tableswitch { // -4 - -1
                   -4: 115
                   -3: 107
                   -2: 99
                   -1: 94
              default: 122
          }
        94: .line 2318
      StackMap locals: long
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 14
            land
            iconst_1
            lshr
            lor
            lstore 19 /* significand */
        95: .line 2319
            lload 24 /* currentDigit */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 96
            iconst_1
            goto 97
      StackMap locals:
      StackMap stack:
        96: iconst_0
      StackMap locals:
      StackMap stack: int
        97: istore 16 /* round */
        98: .line 2320
            goto 123
        99: .line 2325
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 12
            land
            iconst_2
            lshr
            lor
            lstore 19 /* significand */
       100: .line 2326
            lload 24 /* currentDigit */
            ldc 2
            land
            lconst_0
            lcmp
            ifeq 101
            iconst_1
            goto 102
      StackMap locals:
      StackMap stack:
       101: iconst_0
      StackMap locals:
      StackMap stack: int
       102: istore 16 /* round */
       103: .line 2327
            lload 24 /* currentDigit */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 104
            iconst_1
            goto 105
      StackMap locals:
      StackMap stack:
       104: iconst_0
      StackMap locals:
      StackMap stack: int
       105: istore 17 /* sticky */
       106: .line 2328
            goto 123
       107: .line 2332
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 8
            land
            iconst_3
            lshr
            lor
            lstore 19 /* significand */
       108: .line 2334
            lload 24 /* currentDigit */
            ldc 4
            land
            lconst_0
            lcmp
            ifeq 109
            iconst_1
            goto 110
      StackMap locals:
      StackMap stack:
       109: iconst_0
      StackMap locals:
      StackMap stack: int
       110: istore 16 /* round */
       111: .line 2335
            lload 24 /* currentDigit */
            ldc 3
            land
            lconst_0
            lcmp
            ifeq 112
            iconst_1
            goto 113
      StackMap locals:
      StackMap stack:
       112: iconst_0
      StackMap locals:
      StackMap stack: int
       113: istore 17 /* sticky */
       114: .line 2336
            goto 123
       115: .line 2341
      StackMap locals:
      StackMap stack:
            lload 24 /* currentDigit */
            ldc 8
            land
            lconst_0
            lcmp
            ifeq 116
            iconst_1
            goto 117
      StackMap locals:
      StackMap stack:
       116: iconst_0
      StackMap locals:
      StackMap stack: int
       117: istore 16 /* round */
       118: .line 2343
            lload 24 /* currentDigit */
            ldc 7
            land
            lconst_0
            lcmp
            ifeq 119
            iconst_1
            goto 120
      StackMap locals:
      StackMap stack:
       119: iconst_0
      StackMap locals:
      StackMap stack: int
       120: istore 17 /* sticky */
       121: .line 2344
            goto 123
       122: .line 2347
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Unexpected shift distance remainder."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       123: .line 2356
      StackMap locals:
      StackMap stack:
            iinc 23 /* i */ 1
       124: .line 2357
            goto 130
       125: .line 2358
      StackMap locals:
      StackMap stack:
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic sun.misc.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
       126: .line 2359
            iload 17 /* sticky */
            ifne 127
            lload 24 /* currentDigit */
            lconst_0
            lcmp
            ifne 127
            iconst_0
            goto 128
      StackMap locals:
      StackMap stack:
       127: iconst_1
      StackMap locals:
      StackMap stack: int
       128: istore 17 /* sticky */
       129: .line 2360
            iinc 23 /* i */ 1
       130: .line 2357
      StackMap locals:
      StackMap stack:
            iload 23 /* i */
            iload 6 /* signifLength */
            if_icmpge 131
            iload 17 /* sticky */
            ifeq 125
        end local 24 // long currentDigit
       131: .line 2368
      StackMap locals:
      StackMap stack:
            iload 4 /* isNegative */
            ifeq 132
            ldc -2147483648
            goto 133
      StackMap locals:
      StackMap stack:
       132: iconst_0
      StackMap locals:
      StackMap stack: int
       133: istore 24 /* floatBits */
        start local 24 // int floatBits
       134: .line 2369
            lload 14 /* exponent */
            ldc -126
            lcmp
            iflt 147
       135: .line 2370
            lload 14 /* exponent */
            ldc 127
            lcmp
            ifle 138
       136: .line 2372
            iload 24 /* floatBits */
            ldc 2139095040
            ior
            istore 24 /* floatBits */
       137: .line 2373
            goto 158
       138: .line 2374
      StackMap locals: int
      StackMap stack:
            bipush 28
            istore 25 /* threshShift */
        start local 25 // int threshShift
       139: .line 2375
            lload 19 /* significand */
            lconst_1
            iload 25 /* threshShift */
            lshl
            lconst_1
            lsub
            land
            lconst_0
            lcmp
            ifne 140
            iload 16 /* round */
            ifne 140
            iload 17 /* sticky */
            ifne 140
            iconst_0
            goto 141
      StackMap locals: int
      StackMap stack:
       140: iconst_1
      StackMap locals:
      StackMap stack: int
       141: istore 26 /* floatSticky */
        start local 26 // boolean floatSticky
       142: .line 2376
            lload 19 /* significand */
            iload 25 /* threshShift */
            lushr
            l2i
            istore 27 /* iValue */
        start local 27 // int iValue
       143: .line 2377
            iload 27 /* iValue */
            iconst_3
            iand
            iconst_1
            if_icmpne 144
            iload 26 /* floatSticky */
            ifeq 145
       144: .line 2378
      StackMap locals: int int
      StackMap stack:
            iinc 27 /* iValue */ 1
       145: .line 2380
      StackMap locals:
      StackMap stack:
            iload 24 /* floatBits */
            lload 14 /* exponent */
            l2i
            bipush 126
            iadd
            bipush 23
            ishl
            iload 27 /* iValue */
            iconst_1
            ishr
            iadd
            ior
            istore 24 /* floatBits */
        end local 27 // int iValue
        end local 26 // boolean floatSticky
        end local 25 // int threshShift
       146: .line 2382
            goto 158
       147: .line 2383
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc -150
            lcmp
            iflt 158
       148: .line 2387
            ldc -98
            lload 14 /* exponent */
            lsub
            l2i
            istore 25 /* threshShift */
        start local 25 // int threshShift
       149: .line 2388
            getstatic sun.misc.FloatingDecimal.$assertionsDisabled:Z
            ifne 150
            iload 25 /* threshShift */
            bipush 29
            if_icmpge 150
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       150: .line 2389
      StackMap locals: int
      StackMap stack:
            getstatic sun.misc.FloatingDecimal.$assertionsDisabled:Z
            ifne 151
            iload 25 /* threshShift */
            bipush 53
            if_icmplt 151
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       151: .line 2390
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lconst_1
            iload 25 /* threshShift */
            lshl
            lconst_1
            lsub
            land
            lconst_0
            lcmp
            ifne 152
            iload 16 /* round */
            ifne 152
            iload 17 /* sticky */
            ifne 152
            iconst_0
            goto 153
      StackMap locals:
      StackMap stack:
       152: iconst_1
      StackMap locals:
      StackMap stack: int
       153: istore 26 /* floatSticky */
        start local 26 // boolean floatSticky
       154: .line 2391
            lload 19 /* significand */
            iload 25 /* threshShift */
            lushr
            l2i
            istore 27 /* iValue */
        start local 27 // int iValue
       155: .line 2392
            iload 27 /* iValue */
            iconst_3
            iand
            iconst_1
            if_icmpne 156
            iload 26 /* floatSticky */
            ifeq 157
       156: .line 2393
      StackMap locals: int int
      StackMap stack:
            iinc 27 /* iValue */ 1
       157: .line 2395
      StackMap locals:
      StackMap stack:
            iload 24 /* floatBits */
            iload 27 /* iValue */
            iconst_1
            ishr
            ior
            istore 24 /* floatBits */
        end local 27 // int iValue
        end local 26 // boolean floatSticky
        end local 25 // int threshShift
       158: .line 2398
      StackMap locals:
      StackMap stack:
            iload 24 /* floatBits */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            fstore 25 /* fValue */
        start local 25 // float fValue
       159: .line 2401
            lload 14 /* exponent */
            ldc 1023
            lcmp
            ifle 163
       160: .line 2403
            iload 4 /* isNegative */
            ifeq 161
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 162
      StackMap locals: float
      StackMap stack:
       161: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_INFINITY:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
       162: areturn
       163: .line 2405
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc 1023
            lcmp
            ifgt 175
       164: .line 2406
            lload 14 /* exponent */
            ldc -1022
            lcmp
            iflt 175
       165: .line 2419
            lload 14 /* exponent */
       166: .line 2420
            ldc 1023
       167: .line 2419
            ladd
       168: .line 2421
            bipush 52
       169: .line 2419
            lshl
       170: .line 2422
            ldc 9218868437227405312
       171: .line 2419
            land
       172: .line 2423
            ldc 4503599627370495
            lload 19 /* significand */
            land
       173: .line 2419
            lor
            lstore 19 /* significand */
       174: .line 2425
            goto 199
       175: .line 2428
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc -1075
            lcmp
            ifge 179
       176: .line 2432
            iload 4 /* isNegative */
            ifeq 177
            getstatic sun.misc.FloatingDecimal.A2BC_NEGATIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
            goto 178
      StackMap locals:
      StackMap stack:
       177: getstatic sun.misc.FloatingDecimal.A2BC_POSITIVE_ZERO:Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: sun.misc.FloatingDecimal$ASCIIToBinaryConverter
       178: areturn
       179: .line 2440
      StackMap locals:
      StackMap stack:
            iload 17 /* sticky */
            ifne 180
            iload 16 /* round */
            ifne 180
            iconst_0
            goto 181
      StackMap locals:
      StackMap stack:
       180: iconst_1
      StackMap locals:
      StackMap stack: int
       181: istore 17 /* sticky */
       182: .line 2441
            iconst_0
            istore 16 /* round */
       183: .line 2449
            bipush 53
       184: .line 2450
            lload 14 /* exponent */
            l2i
            sipush -1074
            isub
            iconst_1
            iadd
       185: .line 2449
            isub
            istore 26 /* bitsDiscarded */
        start local 26 // int bitsDiscarded
       186: .line 2451
            getstatic sun.misc.FloatingDecimal.$assertionsDisabled:Z
            ifne 188
            iload 26 /* bitsDiscarded */
            iconst_1
            if_icmplt 187
            iload 26 /* bitsDiscarded */
            bipush 53
            if_icmple 188
      StackMap locals: int
      StackMap stack:
       187: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       188: .line 2455
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lconst_1
            iload 26 /* bitsDiscarded */
            iconst_1
            isub
            lshl
            land
            lconst_0
            lcmp
            ifeq 189
            iconst_1
            goto 190
      StackMap locals:
      StackMap stack:
       189: iconst_0
      StackMap locals:
      StackMap stack: int
       190: istore 16 /* round */
       191: .line 2456
            iload 26 /* bitsDiscarded */
            iconst_1
            if_icmple 196
       192: .line 2459
            ldc -1
            iload 26 /* bitsDiscarded */
            iconst_1
            isub
            lshl
            ldc -1
            lxor
            lstore 27 /* mask */
        start local 27 // long mask
       193: .line 2460
            iload 17 /* sticky */
            ifne 194
            lload 19 /* significand */
            lload 27 /* mask */
            land
            lconst_0
            lcmp
            ifne 194
            iconst_0
            goto 195
      StackMap locals: long
      StackMap stack:
       194: iconst_1
      StackMap locals:
      StackMap stack: int
       195: istore 17 /* sticky */
        end local 27 // long mask
       196: .line 2464
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            iload 26 /* bitsDiscarded */
            lshr
            lstore 19 /* significand */
       197: .line 2470
            ldc 4503599627370495
            lload 19 /* significand */
            land
       198: .line 2466
            lstore 19 /* significand */
        end local 26 // int bitsDiscarded
       199: .line 2498
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 200
            iconst_1
            goto 201
      StackMap locals:
      StackMap stack:
       200: iconst_0
      StackMap locals:
      StackMap stack: int
       201: istore 26 /* leastZero */
        start local 26 // boolean leastZero
       202: .line 2499
            iload 26 /* leastZero */
            ifeq 203
            iload 16 /* round */
            ifeq 203
            iload 17 /* sticky */
            ifne 204
       203: .line 2500
      StackMap locals: int
      StackMap stack:
            iload 26 /* leastZero */
            ifne 205
            iload 16 /* round */
            ifeq 205
       204: .line 2501
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lconst_1
            ladd
            lstore 19 /* significand */
       205: .line 2504
      StackMap locals:
      StackMap stack:
            iload 4 /* isNegative */
            ifeq 207
       206: .line 2505
            lload 19 /* significand */
            ldc -9223372036854775808
            lor
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            goto 208
       207: .line 2506
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
       208: .line 2504
      StackMap locals:
      StackMap stack: double
            dstore 27 /* value */
        start local 27 // double value
       209: .line 2508
            new sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            dload 27 /* value */
            fload 25 /* fValue */
            invokespecial sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            areturn
        end local 27 // double value
        end local 26 // boolean leastZero
        end local 25 // float fValue
        end local 24 // int floatBits
        end local 23 // int i
        end local 21 // long leadingDigit
        end local 19 // long significand
        end local 18 // int nextShift
        end local 17 // boolean sticky
        end local 16 // boolean round
        end local 14 // long exponent
        end local 12 // long rawExponent
        end local 10 // long unsignedRawExponent
        end local 9 // boolean positiveExponent
        end local 8 // java.lang.String group8
        end local 7 // int exponentAdjust
        end local 6 // int signifLength
        end local 5 // java.lang.String significandString
        end local 4 // boolean isNegative
        end local 3 // java.lang.String group1
        end local 2 // boolean validInput
        end local 1 // java.util.regex.Matcher m
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  210     0                    s  Ljava/lang/String;
            1  210     1                    m  Ljava/util/regex/Matcher;
            2  210     2           validInput  Z
            5  210     3               group1  Ljava/lang/String;
            8  210     4           isNegative  Z
            9  210     5    significandString  Ljava/lang/String;
           10  210     6         signifLength  I
           11  210     7       exponentAdjust  I
           12   38     8           leftDigits  I
           13   38     9          rightDigits  I
           14   38    10               group4  Ljava/lang/String;
           19   28    11               group6  Ljava/lang/String;
           21   28    12               group7  Ljava/lang/String;
           39  210     8               group8  Ljava/lang/String;
           42  210     9     positiveExponent  Z
           43   44    10  unsignedRawExponent  J
           51  210    10  unsignedRawExponent  J
           56  210    12          rawExponent  J
           57  210    14             exponent  J
           58  210    16                round  Z
           59  210    17               sticky  Z
           60  210    18            nextShift  I
           61  210    19          significand  J
           62  210    21         leadingDigit  J
           83  210    23                    i  I
           86   88    24         currentDigit  J
           93  131    24         currentDigit  J
          134  210    24            floatBits  I
          139  146    25          threshShift  I
          142  146    26          floatSticky  Z
          143  146    27               iValue  I
          149  158    25          threshShift  I
          154  158    26          floatSticky  Z
          155  158    27               iValue  I
          159  210    25               fValue  F
          186  199    26        bitsDiscarded  I
          193  196    27                 mask  J
          202  210    26            leastZero  Z
          209  210    27                value  D
      Exception table:
        from    to  target  type
          42    43      44  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      s     

  static java.lang.String stripLeadingZeros(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 2518
            aload 0 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 8
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpne 8
         1: .line 2519
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 2520
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpeq 5
         4: .line 2521
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         5: .line 2519
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 1 // int i
         7: .line 2524
            ldc ""
            areturn
         8: .line 2526
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     s  Ljava/lang/String;
            2    7     1     i  I
    MethodParameters:
      Name  Flags
      s     

  static int getHexDigit(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String s
        start local 1 // int position
         0: .line 2534
            aload 0 /* s */
            iload 1 /* position */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 2 /* value */
        start local 2 // int value
         1: .line 2535
            iload 2 /* value */
            iconst_m1
            if_icmple 2
            iload 2 /* value */
            bipush 16
            if_icmplt 5
         2: .line 2536
      StackMap locals: int
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected failure of digit conversion of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 2537
            aload 0 /* s */
            iload 1 /* position */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2536
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2539
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            ireturn
        end local 2 // int value
        end local 1 // int position
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0         s  Ljava/lang/String;
            0    6     1  position  I
            1    6     2     value  I
    MethodParameters:
          Name  Flags
      s         
      position  
}
SourceFile: "FloatingDecimal.java"
NestMembers:
  sun.misc.FloatingDecimal$1  sun.misc.FloatingDecimal$ASCIIToBinaryBuffer  sun.misc.FloatingDecimal$ASCIIToBinaryConverter  sun.misc.FloatingDecimal$BinaryToASCIIBuffer  sun.misc.FloatingDecimal$BinaryToASCIIConverter  sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer  sun.misc.FloatingDecimal$HexFloatPattern  sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
InnerClasses:
  sun.misc.FloatingDecimal$1
  ASCIIToBinaryBuffer = sun.misc.FloatingDecimal$ASCIIToBinaryBuffer of sun.misc.FloatingDecimal
  abstract ASCIIToBinaryConverter = sun.misc.FloatingDecimal$ASCIIToBinaryConverter of sun.misc.FloatingDecimal
  BinaryToASCIIBuffer = sun.misc.FloatingDecimal$BinaryToASCIIBuffer of sun.misc.FloatingDecimal
  public abstract BinaryToASCIIConverter = sun.misc.FloatingDecimal$BinaryToASCIIConverter of sun.misc.FloatingDecimal
  private ExceptionalBinaryToASCIIBuffer = sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer of sun.misc.FloatingDecimal
  private HexFloatPattern = sun.misc.FloatingDecimal$HexFloatPattern of sun.misc.FloatingDecimal
  PreparedASCIIToBinaryBuffer = sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer of sun.misc.FloatingDecimal