public class jdk.internal.math.FloatingDecimal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.math.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 jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_INFINITY;
    descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_INFINITY;
    descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NOT_A_NUMBER;
    descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_ZERO;
    descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_ZERO;
    descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_INFINITY;
    descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_INFINITY;
    descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NOT_A_NUMBER;
    descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_ZERO;
    descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_ZERO;
    descriptor: Ljdk/internal/math/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 Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
         3: .line 246
            ldc "Infinity"
            invokevirtual java.lang.String.length:()I
            putstatic jdk.internal.math.FloatingDecimal.INFINITY_LENGTH:I
         4: .line 248
            ldc "NaN"
            invokevirtual java.lang.String.length:()I
            putstatic jdk.internal.math.FloatingDecimal.NAN_LENGTH:I
         5: .line 250
            new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "Infinity"
            iconst_0
            invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
         6: .line 251
            new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "-Infinity"
            iconst_1
            invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
         7: .line 252
            new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
            dup
            ldc "NaN"
            iconst_0
            invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
            putstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
         8: .line 253
            new jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
            dup
            iconst_0
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            invokespecial jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
            putstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
         9: .line 254
            new jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
            dup
            iconst_1
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            invokespecial jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
            putstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
        10: .line 978
            new jdk.internal.math.FloatingDecimal$1
            dup
            invokespecial jdk.internal.math.FloatingDecimal$1.<init>:()V
        11: .line 977
            putstatic jdk.internal.math.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
        12: .line 1025
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc Infinity
            ldc Infinity
            invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
        13: .line 1026
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc -Infinity
            ldc -Infinity
            invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
        14: .line 1027
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc NaN
            ldc NaN
            invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic jdk.internal.math.FloatingDecimal.A2BC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
        15: .line 1028
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            dconst_0
            fconst_0
            invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
        16: .line 1029
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            ldc -0.0
            ldc -0.0
            invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
            putstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/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 // jdk.internal.math.FloatingDecimal this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.internal.math.FloatingDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(D)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(F)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(D)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            aload 2 /* buf */
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(F)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            aload 1 /* buf */
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            invokeinterface jdk.internal.math.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 jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer getBinaryToASCIIBuffer();
    descriptor: ()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 986
            getstatic jdk.internal.math.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double);
    descriptor: (D)Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(DZ)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double, boolean);
    descriptor: (DZ)Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            goto 10
      StackMap locals: int long int
      StackMap stack:
         9: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
        10: areturn
        11: .line 1759
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIBuffer:()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
            astore 10 /* buf */
        start local 10 // jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer buf
        27: .line 1783
            aload 10 /* buf */
            iload 5 /* isNegative */
            invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.setSign:(Z)V
        28: .line 1785
            aload 10 /* buf */
            iload 8 /* binExp */
            lload 6 /* fractBits */
            iload 9 /* nSignificantBits */
            iload 2 /* isCompatibleFormat */
            invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
        29: .line 1786
            aload 10 /* buf */
            areturn
        end local 10 // jdk.internal.math.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  Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
    MethodParameters:
                    Name  Flags
      d                   
      isCompatibleFormat  

  private static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(float);
    descriptor: (F)Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            goto 10
      StackMap locals: int int int
      StackMap stack:
         9: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
        10: areturn
        11: .line 1799
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.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 jdk.internal.math.FloatingDecimal.getBinaryToASCIIBuffer:()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
            astore 6 /* buf */
        start local 6 // jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer buf
        27: .line 1823
            aload 6 /* buf */
            iload 2 /* isNegative */
            invokevirtual jdk.internal.math.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 jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
        29: .line 1826
            aload 6 /* buf */
            areturn
        end local 6 // jdk.internal.math.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  Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
    MethodParameters:
      Name  Flags
      f     

  static jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter readJavaFormatString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.NAN_LENGTH:I
            if_icmpne 120
            aload 0 /* in */
            ldc "NaN"
            iload 6 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iload 6 /* i */
            if_icmpne 120
        14: .line 1856
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NOT_A_NUMBER:Ljdk/internal/math/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 jdk.internal.math.FloatingDecimal.INFINITY_LENGTH:I
            if_icmpne 120
            aload 0 /* in */
            ldc "Infinity"
            iload 6 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iload 6 /* i */
            if_icmpne 120
        18: .line 1862
            iload 1 /* isNegative */
            ifeq 19
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 20
      StackMap locals:
      StackMap stack:
        19: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.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 jdk.internal.math.FloatingDecimal.parseHexString:(Ljava/lang/String;)Ljdk/internal/math/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 120
        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 106
            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 106
        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 103
        97: .line 2001
      StackMap locals: int
      StackMap stack:
            iload 17 /* expOverflow */
            ifne 101
            iload 14 /* expSign */
            iconst_1
            if_icmpne 101
            iload 3 /* decExp */
            ifge 101
        98: .line 2002
            iload 15 /* expVal */
            iload 3 /* decExp */
            iadd
            iload 19 /* expLimit */
            if_icmpge 101
        99: .line 2004
            iload 3 /* decExp */
            iload 15 /* expVal */
            iadd
            istore 3 /* decExp */
       100: .line 2005
            goto 104
       101: .line 2019
      StackMap locals:
      StackMap stack:
            iload 14 /* expSign */
            iload 19 /* expLimit */
            imul
            istore 3 /* decExp */
       102: .line 2021
            goto 104
       103: .line 2024
      StackMap locals:
      StackMap stack:
            iload 3 /* decExp */
            iload 14 /* expSign */
            iload 15 /* expVal */
            imul
            iadd
            istore 3 /* decExp */
       104: .line 2033
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 18 /* expAt */
            if_icmpne 106
       105: .line 2034
            goto 120
        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
       106: .line 2041
      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 113
       107: .line 2042
            iload 6 /* i */
            iload 5 /* len */
            iconst_1
            isub
            if_icmpne 120
       108: .line 2043
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 102
            if_icmpeq 113
       109: .line 2044
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 70
            if_icmpeq 113
       110: .line 2045
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 100
            if_icmpeq 113
       111: .line 2046
            aload 0 /* in */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 68
            if_icmpeq 113
       112: .line 2047
            goto 120
       113: .line 2049
      StackMap locals:
      StackMap stack:
            iload 13 /* isZero */
            ifeq 117
       114: .line 2050
            iload 1 /* isNegative */
            ifeq 115
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 116
      StackMap locals:
      StackMap stack:
       115: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
       116: areturn
       117: .line 2052
      StackMap locals:
      StackMap stack:
            new jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer
            dup
            iload 1 /* isNegative */
            iload 3 /* decExp */
            aload 7 /* digits */
            iload 8 /* nDigits */
            invokespecial jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.<init>:(ZI[CI)V
       118: 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
       119: .line 2053
      StackMap locals: java.lang.String int int
      StackMap stack: java.lang.StringIndexOutOfBoundsException
            pop
       120: .line 2054
      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  121     0           in  Ljava/lang/String;
            1  121     1   isNegative  Z
            2  121     2     signSeen  Z
           74   75     3       decExp  I
           76  119     3       decExp  I
           12  119     4            c  C
            4  119     5          len  I
            7  119     6            i  I
           24   27     7           ch  C
           28  119     7       digits  [C
           29  119     8      nDigits  I
           30  119     9      decSeen  Z
           31  119    10        decPt  I
           32  119    11    nLeadZero  I
           33  119    12   nTrailZero  I
           70  119    13       isZero  Z
           78  106    14      expSign  I
           79  106    15       expVal  I
           80  106    16    reallyBig  I
           81  106    17  expOverflow  Z
           85  106    18        expAt  I
           96  106    19     expLimit  I
      Exception table:
        from    to  target  type
           2    15     119  Class java.lang.StringIndexOutOfBoundsException
          16    20     119  Class java.lang.StringIndexOutOfBoundsException
          21    26     119  Class java.lang.StringIndexOutOfBoundsException
          27    71     119  Class java.lang.StringIndexOutOfBoundsException
          72   105     119  Class java.lang.StringIndexOutOfBoundsException
         106   112     119  Class java.lang.StringIndexOutOfBoundsException
         113   116     119  Class java.lang.StringIndexOutOfBoundsException
         117   118     119  Class java.lang.StringIndexOutOfBoundsException
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      in    

  static jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter parseHexString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=29, args_size=1
        start local 0 // java.lang.String s
         0: .line 2078
            getstatic jdk.internal.math.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 2079
            aload 1 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            istore 2 /* validInput */
        start local 2 // boolean validInput
         2: .line 2080
            iload 2 /* validInput */
            ifne 4
         3: .line 2082
            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 2108
      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 2109
            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 2140
            aconst_null
            astore 5 /* significandString */
        start local 5 // java.lang.String significandString
         9: .line 2141
            iconst_0
            istore 6 /* signifLength */
        start local 6 // int signifLength
        10: .line 2142
            iconst_0
            istore 7 /* exponentAdjust */
        start local 7 // int exponentAdjust
        11: .line 2144
            iconst_0
            istore 8 /* leftDigits */
        start local 8 // int leftDigits
        12: .line 2147
            iconst_0
            istore 9 /* rightDigits */
        start local 9 // int rightDigits
        13: .line 2161
            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 2163
            aload 10 /* group4 */
            invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* significandString */
        16: .line 2164
            aload 5 /* significandString */
            invokevirtual java.lang.String.length:()I
            istore 8 /* leftDigits */
        17: .line 2165
            goto 28
        18: .line 2168
      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 jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* group6 */
        start local 11 // java.lang.String group6
        19: .line 2169
            aload 11 /* group6 */
            invokevirtual java.lang.String.length:()I
            istore 8 /* leftDigits */
        20: .line 2172
            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 2173
            aload 12 /* group7 */
            invokevirtual java.lang.String.length:()I
            istore 9 /* rightDigits */
        22: .line 2177
            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 2179
            aload 12 /* group7 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2177
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2176
            astore 5 /* significandString */
        end local 12 // java.lang.String group7
        end local 11 // java.lang.String group6
        28: .line 2182
      StackMap locals:
      StackMap stack:
            aload 5 /* significandString */
            invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* significandString */
        29: .line 2183
            aload 5 /* significandString */
            invokevirtual java.lang.String.length:()I
            istore 6 /* signifLength */
        30: .line 2188
            iload 8 /* leftDigits */
            iconst_1
            if_icmplt 33
        31: .line 2189
            iconst_4
            iload 8 /* leftDigits */
            iconst_1
            isub
            imul
            istore 7 /* exponentAdjust */
        32: .line 2190
            goto 34
        33: .line 2191
      StackMap locals:
      StackMap stack:
            bipush -4
            iload 9 /* rightDigits */
            iload 6 /* signifLength */
            isub
            iconst_1
            iadd
            imul
            istore 7 /* exponentAdjust */
        34: .line 2197
      StackMap locals:
      StackMap stack:
            iload 6 /* signifLength */
            ifne 38
        35: .line 2198
            iload 4 /* isNegative */
            ifeq 36
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 37
      StackMap locals:
      StackMap stack:
        36: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
        37: areturn
        end local 10 // java.lang.String group4
        end local 9 // int rightDigits
        end local 8 // int leftDigits
        38: .line 2210
      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 2211
            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 2214
            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 2215
            goto 51
        end local 10 // long unsignedRawExponent
        44: .line 2216
      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 2230
            iload 4 /* isNegative */
            ifeq 48
        46: .line 2231
            iload 9 /* positiveExponent */
            ifeq 47
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
      StackMap locals:
      StackMap stack:
        47: getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
        48: .line 2232
      StackMap locals:
      StackMap stack:
            iload 9 /* positiveExponent */
            ifeq 49
            getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 50
      StackMap locals:
      StackMap stack:
        49: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
        50: .line 2230
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
            areturn
        start local 10 // long unsignedRawExponent
        51: .line 2237
      StackMap locals: long
      StackMap stack:
            iload 9 /* positiveExponent */
            ifeq 52
            lconst_1
            goto 53
      StackMap locals:
      StackMap stack:
        52: ldc -1
        53: .line 2238
      StackMap locals:
      StackMap stack: long
            lload 10 /* unsignedRawExponent */
        54: .line 2237
            lmul
        55: .line 2236
            lstore 12 /* rawExponent */
        start local 12 // long rawExponent
        56: .line 2241
            lload 12 /* rawExponent */
            iload 7 /* exponentAdjust */
            i2l
            ladd
            lstore 14 /* exponent */
        start local 14 // long exponent
        57: .line 2247
            iconst_0
            istore 16 /* round */
        start local 16 // boolean round
        58: .line 2248
            iconst_0
            istore 17 /* sticky */
        start local 17 // boolean sticky
        59: .line 2249
            iconst_0
            istore 18 /* nextShift */
        start local 18 // int nextShift
        60: .line 2250
            lconst_0
            lstore 19 /* significand */
        start local 19 // long significand
        61: .line 2257
            aload 5 /* significandString */
            iconst_0
            invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 21 /* leadingDigit */
        start local 21 // long leadingDigit
        62: .line 2268
            lload 21 /* leadingDigit */
            lconst_1
            lcmp
            ifne 66
        63: .line 2269
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 52
            lshl
            lor
            lstore 19 /* significand */
        64: .line 2270
            bipush 48
            istore 18 /* nextShift */
        65: .line 2272
            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 2273
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 51
            lshl
            lor
            lstore 19 /* significand */
        68: .line 2274
            bipush 47
            istore 18 /* nextShift */
        69: .line 2275
            lload 14 /* exponent */
            lconst_1
            ladd
            lstore 14 /* exponent */
        70: .line 2276
            goto 82
      StackMap locals:
      StackMap stack:
        71: lload 21 /* leadingDigit */
            ldc 7
            lcmp
            ifgt 76
        72: .line 2277
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 50
            lshl
            lor
            lstore 19 /* significand */
        73: .line 2278
            bipush 46
            istore 18 /* nextShift */
        74: .line 2279
            lload 14 /* exponent */
            ldc 2
            ladd
            lstore 14 /* exponent */
        75: .line 2280
            goto 82
      StackMap locals:
      StackMap stack:
        76: lload 21 /* leadingDigit */
            ldc 15
            lcmp
            ifgt 81
        77: .line 2281
            lload 19 /* significand */
            lload 21 /* leadingDigit */
            bipush 49
            lshl
            lor
            lstore 19 /* significand */
        78: .line 2282
            bipush 45
            istore 18 /* nextShift */
        79: .line 2283
            lload 14 /* exponent */
            ldc 3
            ladd
            lstore 14 /* exponent */
        80: .line 2284
            goto 82
        81: .line 2285
      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 2306
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        83: .line 2307
            iconst_1
            istore 23 /* i */
        84: .line 2308
            goto 89
        85: .line 2310
      StackMap locals: int
      StackMap stack:
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
        start local 24 // long currentDigit
        86: .line 2311
            lload 19 /* significand */
            lload 24 /* currentDigit */
            iload 18 /* nextShift */
            lshl
            lor
            lstore 19 /* significand */
        87: .line 2312
            iinc 18 /* nextShift */ -4
        end local 24 // long currentDigit
        88: .line 2309
            iinc 23 /* i */ 1
        89: .line 2308
      StackMap locals:
      StackMap stack:
            iload 23 /* i */
            iload 6 /* signifLength */
            if_icmpge 91
            iload 18 /* nextShift */
        90: .line 2307
            ifge 85
        91: .line 2320
      StackMap locals:
      StackMap stack:
            iload 23 /* i */
            iload 6 /* signifLength */
            if_icmpge 131
        92: .line 2321
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
        start local 24 // long currentDigit
        93: .line 2325
            iload 18 /* nextShift */
            tableswitch { // -4 - -1
                   -4: 115
                   -3: 107
                   -2: 99
                   -1: 94
              default: 122
          }
        94: .line 2329
      StackMap locals: long
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 14
            land
            iconst_1
            lshr
            lor
            lstore 19 /* significand */
        95: .line 2330
            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 2331
            goto 123
        99: .line 2336
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 12
            land
            iconst_2
            lshr
            lor
            lstore 19 /* significand */
       100: .line 2337
            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 2338
            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 2339
            goto 123
       107: .line 2343
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lload 24 /* currentDigit */
            ldc 8
            land
            iconst_3
            lshr
            lor
            lstore 19 /* significand */
       108: .line 2345
            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 2346
            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 2347
            goto 123
       115: .line 2352
      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 2354
            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 2355
            goto 123
       122: .line 2358
      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 2367
      StackMap locals:
      StackMap stack:
            iinc 23 /* i */ 1
       124: .line 2368
            goto 130
       125: .line 2369
      StackMap locals:
      StackMap stack:
            aload 5 /* significandString */
            iload 23 /* i */
            invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
            i2l
            lstore 24 /* currentDigit */
       126: .line 2370
            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 2371
            iinc 23 /* i */ 1
       130: .line 2368
      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 2379
      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 2380
            lload 14 /* exponent */
            ldc -126
            lcmp
            iflt 147
       135: .line 2381
            lload 14 /* exponent */
            ldc 127
            lcmp
            ifle 138
       136: .line 2383
            iload 24 /* floatBits */
            ldc 2139095040
            ior
            istore 24 /* floatBits */
       137: .line 2384
            goto 158
       138: .line 2385
      StackMap locals: int
      StackMap stack:
            bipush 28
            istore 25 /* threshShift */
        start local 25 // int threshShift
       139: .line 2386
            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 2387
            lload 19 /* significand */
            iload 25 /* threshShift */
            lushr
            l2i
            istore 27 /* iValue */
        start local 27 // int iValue
       143: .line 2388
            iload 27 /* iValue */
            iconst_3
            iand
            iconst_1
            if_icmpne 144
            iload 26 /* floatSticky */
            ifeq 145
       144: .line 2389
      StackMap locals: int int
      StackMap stack:
            iinc 27 /* iValue */ 1
       145: .line 2391
      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 2393
            goto 158
       147: .line 2394
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc -150
            lcmp
            iflt 158
       148: .line 2398
            ldc -98
            lload 14 /* exponent */
            lsub
            l2i
            istore 25 /* threshShift */
        start local 25 // int threshShift
       149: .line 2399
            getstatic jdk.internal.math.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 2400
      StackMap locals: int
      StackMap stack:
            getstatic jdk.internal.math.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 2401
      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 2402
            lload 19 /* significand */
            iload 25 /* threshShift */
            lushr
            l2i
            istore 27 /* iValue */
        start local 27 // int iValue
       155: .line 2403
            iload 27 /* iValue */
            iconst_3
            iand
            iconst_1
            if_icmpne 156
            iload 26 /* floatSticky */
            ifeq 157
       156: .line 2404
      StackMap locals: int int
      StackMap stack:
            iinc 27 /* iValue */ 1
       157: .line 2406
      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 2409
      StackMap locals:
      StackMap stack:
            iload 24 /* floatBits */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            fstore 25 /* fValue */
        start local 25 // float fValue
       159: .line 2412
            lload 14 /* exponent */
            ldc 1023
            lcmp
            ifle 163
       160: .line 2414
            iload 4 /* isNegative */
            ifeq 161
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 162
      StackMap locals: float
      StackMap stack:
       161: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
       162: areturn
       163: .line 2416
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc 1023
            lcmp
            ifgt 175
       164: .line 2417
            lload 14 /* exponent */
            ldc -1022
            lcmp
            iflt 175
       165: .line 2430
            lload 14 /* exponent */
       166: .line 2431
            ldc 1023
       167: .line 2430
            ladd
       168: .line 2432
            bipush 52
       169: .line 2430
            lshl
       170: .line 2433
            ldc 9218868437227405312
       171: .line 2430
            land
       172: .line 2434
            ldc 4503599627370495
            lload 19 /* significand */
            land
       173: .line 2430
            lor
            lstore 19 /* significand */
       174: .line 2436
            goto 199
       175: .line 2439
      StackMap locals:
      StackMap stack:
            lload 14 /* exponent */
            ldc -1075
            lcmp
            ifge 179
       176: .line 2443
            iload 4 /* isNegative */
            ifeq 177
            getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
            goto 178
      StackMap locals:
      StackMap stack:
       177: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
      StackMap locals:
      StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
       178: areturn
       179: .line 2451
      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 2452
            iconst_0
            istore 16 /* round */
       183: .line 2460
            bipush 53
       184: .line 2461
            lload 14 /* exponent */
            l2i
            sipush -1074
            isub
            iconst_1
            iadd
       185: .line 2460
            isub
            istore 26 /* bitsDiscarded */
        start local 26 // int bitsDiscarded
       186: .line 2462
            getstatic jdk.internal.math.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 2466
      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 2467
            iload 26 /* bitsDiscarded */
            iconst_1
            if_icmple 196
       192: .line 2470
            ldc -1
            iload 26 /* bitsDiscarded */
            iconst_1
            isub
            lshl
            ldc -1
            lxor
            lstore 27 /* mask */
        start local 27 // long mask
       193: .line 2471
            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 2475
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            iload 26 /* bitsDiscarded */
            lshr
            lstore 19 /* significand */
       197: .line 2481
            ldc 4503599627370495
            lload 19 /* significand */
            land
       198: .line 2477
            lstore 19 /* significand */
        end local 26 // int bitsDiscarded
       199: .line 2509
      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 2510
            iload 26 /* leastZero */
            ifeq 203
            iload 16 /* round */
            ifeq 203
            iload 17 /* sticky */
            ifne 204
       203: .line 2511
      StackMap locals: int
      StackMap stack:
            iload 26 /* leastZero */
            ifne 205
            iload 16 /* round */
            ifeq 205
       204: .line 2512
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            lconst_1
            ladd
            lstore 19 /* significand */
       205: .line 2515
      StackMap locals:
      StackMap stack:
            iload 4 /* isNegative */
            ifeq 207
       206: .line 2516
            lload 19 /* significand */
            ldc -9223372036854775808
            lor
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            goto 208
       207: .line 2517
      StackMap locals:
      StackMap stack:
            lload 19 /* significand */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
       208: .line 2515
      StackMap locals:
      StackMap stack: double
            dstore 27 /* value */
        start local 27 // double value
       209: .line 2519
            new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
            dup
            dload 27 /* value */
            fload 25 /* fValue */
            invokespecial jdk.internal.math.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 2529
            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 2530
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 2531
      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 2532
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         5: .line 2530
      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 2535
            ldc ""
            areturn
         8: .line 2537
      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 2545
            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 2546
            iload 2 /* value */
            iconst_m1
            if_icmple 2
            iload 2 /* value */
            bipush 16
            if_icmplt 5
         2: .line 2547
      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 2548
            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 2547
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2550
      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:
  jdk.internal.math.FloatingDecimal$1  jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer  jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter  jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer  jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter  jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer  jdk.internal.math.FloatingDecimal$HexFloatPattern  jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
InnerClasses:
  jdk.internal.math.FloatingDecimal$1
  ASCIIToBinaryBuffer = jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer of jdk.internal.math.FloatingDecimal
  abstract ASCIIToBinaryConverter = jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter of jdk.internal.math.FloatingDecimal
  BinaryToASCIIBuffer = jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer of jdk.internal.math.FloatingDecimal
  public abstract BinaryToASCIIConverter = jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter of jdk.internal.math.FloatingDecimal
  private ExceptionalBinaryToASCIIBuffer = jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer of jdk.internal.math.FloatingDecimal
  private HexFloatPattern = jdk.internal.math.FloatingDecimal$HexFloatPattern of jdk.internal.math.FloatingDecimal
  PreparedASCIIToBinaryBuffer = jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer of jdk.internal.math.FloatingDecimal