public final class com.oracle.truffle.js.runtime.doubleconv.DoubleConversion
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.doubleconv.DoubleConversion
  super_class: java.lang.Object
{
  private static final int kMaxFixedDigitsBeforePoint;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

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

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

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

  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=1, locals=0, args_size=0
         0: .line 80
            ldc Lcom/oracle/truffle/js/runtime/doubleconv/DoubleConversion;
            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 com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
         3: .line 89
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.doubleconv.DoubleConversion this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            return
        end local 0 // com.oracle.truffle.js.runtime.doubleconv.DoubleConversion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/runtime/doubleconv/DoubleConversion;

  public static java.lang.String toShortest(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // double value
         0: .line 98
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            dload 0 /* value */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         1: .line 100
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer
            dup
            bipush 17
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.<init>:(I)V
            astore 2 /* buffer */
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         2: .line 101
            dload 0 /* value */
            aload 2 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.dtoaShortest:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
         3: .line 103
            aload 2 /* buffer */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.SHORTEST:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iconst_0
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.format:(Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;I)Ljava/lang/String;
            areturn
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   value  D
            2    4     2  buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
       Name  Flags
      value  final

  private static void dtoaShortest(double, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // double value
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 107
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            dstore 3 /* absValue */
        start local 3 // double absValue
         1: .line 109
            dload 0 /* value */
            dconst_0
            dcmpg
            ifge 3
         2: .line 110
            aload 2 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.isNegative:Z
         3: .line 113
      StackMap locals: double
      StackMap stack:
            dload 0 /* value */
            dconst_0
            dcmpl
            ifne 7
         4: .line 114
            aload 2 /* buffer */
            bipush 48
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
         5: .line 115
            aload 2 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
         6: .line 116
            goto 10
      StackMap locals:
      StackMap stack:
         7: dload 3 /* absValue */
            aload 2 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.fastDtoaShortest:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ifne 10
         8: .line 117
            aload 2 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.reset:()V
         9: .line 118
            dload 3 /* absValue */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.SHORTEST:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iconst_0
            aload 2 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.bignumDtoa:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
        10: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double absValue
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0     value  D
            0   11     2    buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            1   11     3  absValue  D
    MethodParameters:
        Name  Flags
      value   final
      buffer  final

  public static java.lang.String toFixed(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // double value
        start local 2 // int requestedDigits
         0: .line 131
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            dload 0 /* value */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         1: .line 133
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer
            dup
            bipush 120
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.<init>:(I)V
            astore 3 /* buffer */
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         2: .line 134
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            dstore 4 /* absValue */
        start local 4 // double absValue
         3: .line 136
            dload 0 /* value */
            dconst_0
            dcmpg
            ifge 5
         4: .line 137
            aload 3 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.isNegative:Z
         5: .line 140
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer double
      StackMap stack:
            dload 0 /* value */
            dconst_0
            dcmpl
            ifne 9
         6: .line 141
            aload 3 /* buffer */
            bipush 48
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
         7: .line 142
            aload 3 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
         8: .line 143
            goto 12
      StackMap locals:
      StackMap stack:
         9: dload 4 /* absValue */
            iload 2 /* requestedDigits */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.fixedDtoa:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ifne 12
        10: .line 144
            aload 3 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.reset:()V
        11: .line 145
            dload 4 /* absValue */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.FIXED:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iload 2 /* requestedDigits */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.bignumDtoa:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
        12: .line 148
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.FIXED:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iload 2 /* requestedDigits */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.format:(Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;I)Ljava/lang/String;
            areturn
        end local 4 // double absValue
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int requestedDigits
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0            value  D
            0   13     2  requestedDigits  I
            2   13     3           buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            3   13     4         absValue  D
    MethodParameters:
                 Name  Flags
      value            final
      requestedDigits  final

  public static java.lang.String toPrecision(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double value
        start local 2 // int precision
         0: .line 159
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            dload 0 /* value */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         1: .line 161
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer
            dup
            iload 2 /* precision */
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.<init>:(I)V
            astore 3 /* buffer */
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         2: .line 162
            dload 0 /* value */
            iload 2 /* precision */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.dtoaPrecision:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
         3: .line 164
            aload 3 /* buffer */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.PRECISION:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iconst_0
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.format:(Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;I)Ljava/lang/String;
            areturn
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int precision
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0      value  D
            0    4     2  precision  I
            2    4     3     buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
           Name  Flags
      value      final
      precision  final

  private static void dtoaPrecision(double, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // double value
        start local 2 // int precision
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 168
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            dstore 4 /* absValue */
        start local 4 // double absValue
         1: .line 170
            dload 0 /* value */
            dconst_0
            dcmpg
            ifge 3
         2: .line 171
            aload 3 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.isNegative:Z
         3: .line 174
      StackMap locals: double
      StackMap stack:
            dload 0 /* value */
            dconst_0
            dcmpl
            ifne 11
         4: .line 175
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 176
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 48
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
         7: .line 175
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 2 /* precision */
            if_icmplt 6
        end local 6 // int i
         9: .line 178
            aload 3 /* buffer */
            iconst_1
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        10: .line 180
            goto 14
      StackMap locals:
      StackMap stack:
        11: dload 4 /* absValue */
            iload 2 /* precision */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.fastDtoaCounted:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ifne 14
        12: .line 181
            aload 3 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.reset:()V
        13: .line 182
            dload 4 /* absValue */
            getstatic com.oracle.truffle.js.runtime.doubleconv.DtoaMode.PRECISION:Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            iload 2 /* precision */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.bignumDtoa:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
        14: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 4 // double absValue
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int precision
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0      value  D
            0   15     2  precision  I
            0   15     3     buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            1   15     4   absValue  D
            5    9     6          i  I
    MethodParameters:
           Name  Flags
      value      final
      precision  final
      buffer     final

  public static void bignumDtoa(double, com.oracle.truffle.js.runtime.doubleconv.DtoaMode, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // double v
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaMode mode
        start local 3 // int digits
        start local 4 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 196
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 2
            dload 0 /* v */
            dconst_0
            dcmpl
            ifle 1
            dload 0 /* v */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* v */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            dload 0 /* v */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         2: .line 198
      StackMap locals:
      StackMap stack:
            dload 0 /* v */
            aload 2 /* mode */
            iload 3 /* digits */
            aload 4 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.BignumDtoa.bignumDtoa:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
         3: .line 199
            return
        end local 4 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 3 // int digits
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaMode mode
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       v  D
            0    4     2    mode  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaMode;
            0    4     3  digits  I
            0    4     4  buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
        Name  Flags
      v       final
      mode    final
      digits  final
      buffer  final

  public static boolean fastDtoaShortest(double, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double v
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 210
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 2
            dload 0 /* v */
            dconst_0
            dcmpl
            ifle 1
            dload 0 /* v */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* v */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            dload 0 /* v */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         2: .line 212
      StackMap locals:
      StackMap stack:
            dload 0 /* v */
            aload 2 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.grisu3:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ireturn
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       v  D
            0    3     2  buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
        Name  Flags
      v       final
      buffer  final

  public static boolean fastDtoaCounted(double, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // double v
        start local 2 // int precision
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 225
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 2
            dload 0 /* v */
            dconst_0
            dcmpl
            ifle 1
            dload 0 /* v */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* v */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            dload 0 /* v */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         2: .line 227
      StackMap locals:
      StackMap stack:
            dload 0 /* v */
            iload 2 /* precision */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.grisu3Counted:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ireturn
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int precision
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          v  D
            0    3     2  precision  I
            0    3     3     buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
           Name  Flags
      v          final
      precision  final
      buffer     final

  public static boolean fixedDtoa(double, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // double v
        start local 2 // int digits
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 240
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 2
            dload 0 /* v */
            dconst_0
            dcmpl
            ifle 1
            dload 0 /* v */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* v */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            dload 0 /* v */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         2: .line 242
      StackMap locals:
      StackMap stack:
            dload 0 /* v */
            iload 2 /* digits */
            aload 3 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FixedDtoa.fastFixedDtoa:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
            ireturn
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int digits
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       v  D
            0    3     2  digits  I
            0    3     3  buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
    MethodParameters:
        Name  Flags
      v       final
      digits  final
      buffer  final

  public static java.lang.String toExponential(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double value
        start local 2 // int requestedDigits
         0: .line 255
            dload 0 /* value */
            iload 2 /* requestedDigits */
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.toExponential:(DIZ)Ljava/lang/String;
            areturn
        end local 2 // int requestedDigits
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0            value  D
            0    1     2  requestedDigits  I
    MethodParameters:
                 Name  Flags
      value            
      requestedDigits  

  public static java.lang.String toExponential(double, int, boolean);
    descriptor: (DIZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // double value
        start local 2 // int requestedDigits
        start local 3 // boolean uniqueZero
         0: .line 269
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 1
            dload 0 /* value */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 1
            new java.lang.AssertionError
            dup
            dload 0 /* value */
            invokespecial java.lang.AssertionError.<init>:(D)V
            athrow
         1: .line 270
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 3
            iload 2 /* requestedDigits */
            iconst_m1
            if_icmplt 2
            iload 2 /* requestedDigits */
            bipush 120
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            iload 2 /* requestedDigits */
            invokespecial java.lang.AssertionError.<init>:(I)V
            athrow
         3: .line 272
      StackMap locals:
      StackMap stack:
            dload 0 /* value */
            dconst_0
            dcmpg
            ifge 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* sign */
        start local 4 // boolean sign
         6: .line 273
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            dstore 5 /* absValue */
        start local 5 // double absValue
         7: .line 276
            bipush 121
            istore 7 /* kDecimalRepCapacity */
        start local 7 // int kDecimalRepCapacity
         8: .line 277
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 9
            iload 7 /* kDecimalRepCapacity */
            bipush 17
            if_icmpgt 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 278
      StackMap locals: int double int
      StackMap stack:
            new com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer
            dup
            iload 7 /* kDecimalRepCapacity */
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.<init>:(I)V
            astore 8 /* buffer */
        start local 8 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        10: .line 280
            iload 2 /* requestedDigits */
            iconst_m1
            if_icmpne 13
        11: .line 281
            dload 5 /* absValue */
            aload 8 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.dtoaShortest:(DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
        12: .line 282
            goto 21
        13: .line 283
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer
      StackMap stack:
            dload 5 /* absValue */
            iload 2 /* requestedDigits */
            iconst_1
            iadd
            aload 8 /* buffer */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.dtoaPrecision:(DILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)V
        14: .line 284
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 15
            aload 8 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.getLength:()I
            iload 2 /* requestedDigits */
            iconst_1
            iadd
            if_icmple 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 286
      StackMap locals:
      StackMap stack:
            aload 8 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.getLength:()I
            istore 9 /* i */
        start local 9 // int i
        16: goto 19
        17: .line 287
      StackMap locals: int
      StackMap stack:
            aload 8 /* buffer */
            bipush 48
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
        18: .line 286
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            iload 2 /* requestedDigits */
            iconst_1
            iadd
            if_icmplt 17
        end local 9 // int i
        20: .line 289
            getstatic com.oracle.truffle.js.runtime.doubleconv.DoubleConversion.$assertionsDisabled:Z
            ifne 21
            aload 8 /* buffer */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.getLength:()I
            iload 2 /* requestedDigits */
            iconst_1
            iadd
            if_icmpeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 292
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* resultBuilder */
        start local 9 // java.lang.StringBuilder resultBuilder
        22: .line 293
            iload 4 /* sign */
            ifeq 24
            dload 0 /* value */
            dconst_0
            dcmpl
            ifne 23
            iload 3 /* uniqueZero */
            ifne 24
        23: .line 294
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 9 /* resultBuilder */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 297
      StackMap locals:
      StackMap stack:
            aload 8 /* buffer */
            aload 9 /* resultBuilder */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.toExponentialFormat:(Ljava/lang/StringBuilder;)V
        25: .line 298
            aload 9 /* resultBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 9 // java.lang.StringBuilder resultBuilder
        end local 8 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 7 // int kDecimalRepCapacity
        end local 5 // double absValue
        end local 4 // boolean sign
        end local 3 // boolean uniqueZero
        end local 2 // int requestedDigits
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                value  D
            0   26     2      requestedDigits  I
            0   26     3           uniqueZero  Z
            6   26     4                 sign  Z
            7   26     5             absValue  D
            8   26     7  kDecimalRepCapacity  I
           10   26     8               buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
           16   20     9                    i  I
           22   26     9        resultBuilder  Ljava/lang/StringBuilder;
    MethodParameters:
                 Name  Flags
      value            
      requestedDigits  
      uniqueZero       
}
SourceFile: "DoubleConversion.java"