class jdk.nashorn.internal.runtime.doubleconv.BignumDtoa
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.doubleconv.BignumDtoa
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            ldc Ljdk/nashorn/internal/runtime/doubleconv/BignumDtoa;
            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.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.doubleconv.BignumDtoa this
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.BignumDtoa this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/doubleconv/BignumDtoa;

  private static int normalizedExponent(long, int);
    descriptor: (JI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long significand
        start local 2 // int exponent
         0: .line 65
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 3
            lload 0 /* significand */
            lconst_0
            lcmp
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 67
      StackMap locals:
      StackMap stack:
            lload 0 /* significand */
            iconst_1
            lshl
            lstore 0 /* significand */
         2: .line 68
            iinc 2 /* exponent */ -1
         3: .line 66
      StackMap locals:
      StackMap stack:
            lload 0 /* significand */
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 1
         4: .line 70
            iload 2 /* exponent */
            ireturn
        end local 2 // int exponent
        end local 0 // long significand
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  significand  J
            0    5     2     exponent  I
    MethodParameters:
             Name  Flags
      significand  
      exponent     

  static void bignumDtoa(double, jdk.nashorn.internal.runtime.doubleconv.DtoaMode, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLjdk/nashorn/internal/runtime/doubleconv/DtoaMode;ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=19, args_size=4
        start local 0 // double v
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaMode mode
        start local 3 // int requested_digits
        start local 4 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 104
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 1
            dload 0 /* v */
            dconst_0
            dcmpl
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 105
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 2
            dload 0 /* v */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.isSpecial:(J)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 110
      StackMap locals:
      StackMap stack:
            dload 0 /* v */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            lstore 9 /* l */
        start local 9 // long l
         3: .line 111
            lload 9 /* l */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.significand:(J)J
            lstore 5 /* significand */
        start local 5 // long significand
         4: .line 112
            lload 9 /* l */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.exponent:(J)I
            istore 7 /* exponent */
        start local 7 // int exponent
         5: .line 113
            lload 9 /* l */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.lowerBoundaryIsCloser:(J)Z
            istore 8 /* lower_boundary_is_closer */
        start local 8 // boolean lower_boundary_is_closer
         6: .line 115
            aload 2 /* mode */
            getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.SHORTEST:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaMode int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long int int long
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 11 /* need_boundary_deltas */
        start local 11 // boolean need_boundary_deltas
         9: .line 117
            lload 5 /* significand */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 12 /* is_even */
        start local 12 // boolean is_even
        12: .line 118
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 13
            lload 5 /* significand */
            lconst_0
            lcmp
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 119
      StackMap locals: int
      StackMap stack:
            lload 5 /* significand */
            iload 7 /* exponent */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.normalizedExponent:(JI)I
            istore 13 /* normalizedExponent */
        start local 13 // int normalizedExponent
        14: .line 121
            iload 13 /* normalizedExponent */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.estimatePower:(I)I
            istore 14 /* estimated_power */
        start local 14 // int estimated_power
        15: .line 127
            aload 2 /* mode */
            getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.FIXED:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            if_acmpne 19
            iload 14 /* estimated_power */
            ineg
            iconst_1
            isub
            iload 3 /* requested_digits */
            if_icmple 19
        16: .line 128
            aload 4 /* buffer */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.reset:()V
        17: .line 132
            aload 4 /* buffer */
            iload 3 /* requested_digits */
            ineg
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        18: .line 133
            return
        19: .line 136
      StackMap locals: int int
      StackMap stack:
            new jdk.nashorn.internal.runtime.doubleconv.Bignum
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.Bignum.<init>:()V
            astore 15 /* numerator */
        start local 15 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        20: .line 137
            new jdk.nashorn.internal.runtime.doubleconv.Bignum
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.Bignum.<init>:()V
            astore 16 /* denominator */
        start local 16 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        21: .line 138
            new jdk.nashorn.internal.runtime.doubleconv.Bignum
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.Bignum.<init>:()V
            astore 17 /* delta_minus */
        start local 17 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        22: .line 139
            new jdk.nashorn.internal.runtime.doubleconv.Bignum
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.Bignum.<init>:()V
            astore 18 /* delta_plus */
        start local 18 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        23: .line 145
            lload 5 /* significand */
            iload 7 /* exponent */
            iload 8 /* lower_boundary_is_closer */
        24: .line 146
            iload 14 /* estimated_power */
            iload 11 /* need_boundary_deltas */
        25: .line 147
            aload 15 /* numerator */
            aload 16 /* denominator */
        26: .line 148
            aload 17 /* delta_minus */
            aload 18 /* delta_plus */
        27: .line 145
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.initialScaledStartValues:(JIZIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
        28: .line 150
            aload 4 /* buffer */
            iload 14 /* estimated_power */
            iload 12 /* is_even */
        29: .line 151
            aload 15 /* numerator */
            aload 16 /* denominator */
        30: .line 152
            aload 17 /* delta_minus */
            aload 18 /* delta_plus */
        31: .line 150
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.fixupMultiply10:(IZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        32: .line 155
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:()[I
            aload 2 /* mode */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 33
                    2: 38
                    3: 43
              default: 48
          }
        33: .line 157
      StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaMode int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long int int long int int int int jdk.nashorn.internal.runtime.doubleconv.Bignum jdk.nashorn.internal.runtime.doubleconv.Bignum jdk.nashorn.internal.runtime.doubleconv.Bignum jdk.nashorn.internal.runtime.doubleconv.Bignum
      StackMap stack:
            aload 15 /* numerator */
            aload 16 /* denominator */
        34: .line 158
            aload 17 /* delta_minus */
            aload 18 /* delta_plus */
        35: .line 159
            iload 12 /* is_even */
            aload 4 /* buffer */
        36: .line 157
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.generateShortestDigits:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;ZLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
        37: .line 160
            goto 49
        38: .line 162
      StackMap locals:
      StackMap stack:
            iload 3 /* requested_digits */
        39: .line 163
            aload 15 /* numerator */
            aload 16 /* denominator */
        40: .line 164
            aload 4 /* buffer */
        41: .line 162
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.bignumToFixed:(ILjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
        42: .line 165
            goto 49
        43: .line 167
      StackMap locals:
      StackMap stack:
            iload 3 /* requested_digits */
        44: .line 168
            aload 15 /* numerator */
            aload 16 /* denominator */
        45: .line 169
            aload 4 /* buffer */
        46: .line 167
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.generateCountedDigits:(ILjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
        47: .line 170
            goto 49
        48: .line 172
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            athrow
        49: .line 174
      StackMap locals:
      StackMap stack:
            return
        end local 18 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 17 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 16 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 15 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 14 // int estimated_power
        end local 13 // int normalizedExponent
        end local 12 // boolean is_even
        end local 11 // boolean need_boundary_deltas
        end local 9 // long l
        end local 8 // boolean lower_boundary_is_closer
        end local 7 // int exponent
        end local 5 // long significand
        end local 4 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 3 // int requested_digits
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaMode mode
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   50     0                         v  D
            0   50     2                      mode  Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            0   50     3          requested_digits  I
            0   50     4                    buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            4   50     5               significand  J
            5   50     7                  exponent  I
            6   50     8  lower_boundary_is_closer  Z
            3   50     9                         l  J
            9   50    11      need_boundary_deltas  Z
           12   50    12                   is_even  Z
           14   50    13        normalizedExponent  I
           15   50    14           estimated_power  I
           20   50    15                 numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
           21   50    16               denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
           22   50    17               delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
           23   50    18                delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
    MethodParameters:
                  Name  Flags
      v                 final
      mode              final
      requested_digits  final
      buffer            final

  static void generateShortestDigits(jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, boolean, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;ZLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        start local 4 // boolean is_even
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 196
            aload 2 /* delta_minus */
            aload 3 /* delta_plus */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.equal:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)Z
            ifeq 2
         1: .line 197
            aload 2 /* delta_minus */
            astore 3 /* delta_plus */
         2: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* numerator */
            aload 1 /* denominator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.divideModuloIntBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)C
            istore 6 /* digit */
        start local 6 // char digit
         3: .line 202
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 4
            iload 6 /* digit */
            bipush 9
            if_icmple 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 205
      StackMap locals: int
      StackMap stack:
            aload 5 /* buffer */
            iload 6 /* digit */
            bipush 48
            iadd
            i2c
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
         5: .line 214
            iload 4 /* is_even */
            ifeq 8
         6: .line 215
            aload 0 /* numerator */
            aload 2 /* delta_minus */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.lessEqual:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)Z
            istore 7 /* in_delta_room_minus */
        start local 7 // boolean in_delta_room_minus
         7: .line 216
            goto 9
        end local 7 // boolean in_delta_room_minus
         8: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* numerator */
            aload 2 /* delta_minus */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.less:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)Z
            istore 7 /* in_delta_room_minus */
        start local 7 // boolean in_delta_room_minus
         9: .line 219
      StackMap locals: int
      StackMap stack:
            iload 4 /* is_even */
            ifeq 14
        10: .line 221
            aload 0 /* numerator */
            aload 3 /* delta_plus */
            aload 1 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            iflt 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
        12: .line 220
      StackMap locals:
      StackMap stack: int
            istore 8 /* in_delta_room_plus */
        start local 8 // boolean in_delta_room_plus
        13: .line 222
            goto 17
        end local 8 // boolean in_delta_room_plus
        14: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* numerator */
            aload 3 /* delta_plus */
            aload 1 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            ifle 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
        16: .line 223
      StackMap locals:
      StackMap stack: int
            istore 8 /* in_delta_room_plus */
        start local 8 // boolean in_delta_room_plus
        17: .line 226
      StackMap locals: int
      StackMap stack:
            iload 7 /* in_delta_room_minus */
            ifne 23
            iload 8 /* in_delta_room_plus */
            ifne 23
        18: .line 228
            aload 0 /* numerator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        19: .line 229
            aload 2 /* delta_minus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        20: .line 233
            aload 2 /* delta_minus */
            aload 3 /* delta_plus */
            if_acmpeq 2
        21: .line 234
            aload 3 /* delta_plus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        22: .line 236
            goto 2
      StackMap locals:
      StackMap stack:
        23: iload 7 /* in_delta_room_minus */
            ifeq 34
            iload 8 /* in_delta_room_plus */
            ifeq 34
        24: .line 239
            aload 0 /* numerator */
            aload 0 /* numerator */
            aload 1 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            istore 9 /* compare */
        start local 9 // int compare
        25: .line 240
            iload 9 /* compare */
            iflt 33
        26: .line 242
            iload 9 /* compare */
            ifle 30
        27: .line 248
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 28
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            caload
            bipush 57
            if_icmpne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 249
      StackMap locals: int
      StackMap stack:
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        29: .line 250
            goto 33
        30: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            caload
            bipush 48
            isub
            iconst_2
            irem
            ifeq 33
        31: .line 259
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 32
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            caload
            bipush 57
            if_icmpne 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 260
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        33: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int compare
        34: .line 264
      StackMap locals:
      StackMap stack:
            iload 7 /* in_delta_room_minus */
            ifeq 36
        35: .line 266
            return
        36: .line 273
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 37
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            caload
            bipush 57
            if_icmpne 37
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 274
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 5 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        38: .line 275
            return
        end local 8 // boolean in_delta_room_plus
        end local 7 // boolean in_delta_room_minus
        end local 6 // char digit
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 4 // boolean is_even
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   39     0            numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   39     1          denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   39     2          delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   39     3           delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   39     4              is_even  Z
            0   39     5               buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            3   39     6                digit  C
            7    8     7  in_delta_room_minus  Z
            9   39     7  in_delta_room_minus  Z
           13   14     8   in_delta_room_plus  Z
           17   39     8   in_delta_room_plus  Z
           25   34     9              compare  I
    MethodParameters:
             Name  Flags
      numerator    final
      denominator  final
      delta_minus  final
      delta_plus   
      is_even      final
      buffer       final

  static void generateCountedDigits(int, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (ILjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // int count
        start local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 290
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 1
            iload 0 /* count */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 291
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 293
      StackMap locals: int
      StackMap stack:
            aload 1 /* numerator */
            aload 2 /* denominator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.divideModuloIntBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)C
            istore 5 /* digit */
        start local 5 // char digit
         4: .line 294
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 5
            iload 5 /* digit */
            bipush 9
            if_icmple 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 297
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iload 4 /* i */
            iload 5 /* digit */
            bipush 48
            iadd
            i2c
            castore
         6: .line 299
            aload 1 /* numerator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        end local 5 // char digit
         7: .line 291
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 0 /* count */
            iconst_1
            isub
            if_icmplt 3
        end local 4 // int i
         9: .line 303
            aload 1 /* numerator */
            aload 2 /* denominator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.divideModuloIntBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)C
            istore 4 /* digit */
        start local 4 // char digit
        10: .line 304
            aload 1 /* numerator */
            aload 1 /* numerator */
            aload 2 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            iflt 12
        11: .line 305
            iload 4 /* digit */
            iconst_1
            iadd
            i2c
            istore 4 /* digit */
        12: .line 307
      StackMap locals: int jdk.nashorn.internal.runtime.doubleconv.Bignum jdk.nashorn.internal.runtime.doubleconv.Bignum jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 13
            iload 4 /* digit */
            bipush 10
            if_icmple 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 308
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iload 0 /* count */
            iconst_1
            isub
            iload 4 /* digit */
            bipush 48
            iadd
            i2c
            castore
        14: .line 311
            iload 0 /* count */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
        15: goto 20
        16: .line 312
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iload 5 /* i */
            caload
            bipush 58
            if_icmpeq 17
            goto 21
        17: .line 313
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iload 5 /* i */
            bipush 48
            castore
        18: .line 314
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iload 5 /* i */
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        19: .line 311
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            ifgt 16
        end local 5 // int i
        21: .line 316
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iconst_0
            caload
            bipush 58
            if_icmpne 24
        22: .line 318
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iconst_0
            bipush 49
            castore
        23: .line 319
            aload 3 /* buffer */
            dup
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        24: .line 321
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 0 /* count */
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
        25: .line 322
            return
        end local 4 // char digit
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0        count  I
            0   26     1    numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   26     2  denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   26     3       buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            2    9     4            i  I
            4    7     5        digit  C
           10   26     4        digit  C
           15   21     5            i  I
    MethodParameters:
             Name  Flags
      count        final
      numerator    final
      denominator  final
      buffer       final

  static void bignumToFixed(int, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (ILjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // int requested_digits
        start local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 336
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            ineg
            iload 0 /* requested_digits */
            if_icmple 4
         1: .line 342
            aload 3 /* buffer */
            iload 0 /* requested_digits */
            ineg
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
         2: .line 343
            aload 3 /* buffer */
            iconst_0
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
         3: .line 345
            goto 19
      StackMap locals:
      StackMap stack:
         4: aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            ineg
            iload 0 /* requested_digits */
            if_icmpne 14
         5: .line 348
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 6
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            iload 0 /* requested_digits */
            ineg
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 351
      StackMap locals:
      StackMap stack:
            aload 2 /* denominator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
         7: .line 352
            aload 1 /* numerator */
            aload 1 /* numerator */
            aload 2 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            iflt 12
         8: .line 355
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            iconst_0
            bipush 49
            castore
         9: .line 356
            aload 3 /* buffer */
            iconst_1
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
        10: .line 357
            aload 3 /* buffer */
            dup
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        11: .line 358
            goto 19
        12: .line 360
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iconst_0
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
        13: .line 363
            goto 19
        14: .line 366
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
            iload 0 /* requested_digits */
            iadd
            istore 4 /* needed_digits */
        start local 4 // int needed_digits
        15: .line 367
            iload 4 /* needed_digits */
        16: .line 368
            aload 1 /* numerator */
            aload 2 /* denominator */
        17: .line 369
            aload 3 /* buffer */
        18: .line 367
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.generateCountedDigits:(ILjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
        end local 4 // int needed_digits
        19: .line 371
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 1 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 0 // int requested_digits
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0  requested_digits  I
            0   20     1         numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   20     2       denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   20     3            buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
           15   19     4     needed_digits  I
    MethodParameters:
                  Name  Flags
      requested_digits  final
      numerator         final
      denominator       final
      buffer            final

  static int estimatePower(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int exponent
         0: .line 415
            iload 0 /* exponent */
            bipush 53
            iadd
            iconst_1
            isub
            i2d
            ldc 0.30102999566398114
            dmul
            ldc 1.0E-10
            dsub
            invokestatic java.lang.Math.ceil:(D)D
            dstore 1 /* estimate */
        start local 1 // double estimate
         1: .line 416
            dload 1 /* estimate */
            d2i
            ireturn
        end local 1 // double estimate
        end local 0 // int exponent
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  exponent  I
            1    2     1  estimate  D
    MethodParameters:
          Name  Flags
      exponent  final

  static void initialScaledStartValuesPositiveExponent(long, int, int, boolean, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum);
    descriptor: (JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=8
        start local 0 // long significand
        start local 2 // int exponent
        start local 3 // int estimated_power
        start local 4 // boolean need_boundary_deltas
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
         0: .line 427
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 1
            iload 3 /* estimated_power */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 432
      StackMap locals:
      StackMap stack:
            aload 5 /* numerator */
            lload 0 /* significand */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt64:(J)V
         2: .line 433
            aload 5 /* numerator */
            iload 2 /* exponent */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         3: .line 435
            aload 6 /* denominator */
            bipush 10
            iload 3 /* estimated_power */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignPowerUInt16:(II)V
         4: .line 437
            iload 4 /* need_boundary_deltas */
            ifeq 11
         5: .line 440
            aload 6 /* denominator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         6: .line 441
            aload 5 /* numerator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         7: .line 444
            aload 8 /* delta_plus */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt16:(C)V
         8: .line 445
            aload 8 /* delta_plus */
            iload 2 /* exponent */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         9: .line 447
            aload 7 /* delta_minus */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt16:(C)V
        10: .line 448
            aload 7 /* delta_minus */
            iload 2 /* exponent */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        11: .line 450
      StackMap locals:
      StackMap stack:
            return
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 4 // boolean need_boundary_deltas
        end local 3 // int estimated_power
        end local 2 // int exponent
        end local 0 // long significand
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0           significand  J
            0   12     2              exponent  I
            0   12     3       estimated_power  I
            0   12     4  need_boundary_deltas  Z
            0   12     5             numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   12     6           denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   12     7           delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   12     8            delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
    MethodParameters:
                      Name  Flags
      significand           final
      exponent              final
      estimated_power       final
      need_boundary_deltas  final
      numerator             final
      denominator           final
      delta_minus           final
      delta_plus            final

  static void initialScaledStartValuesNegativeExponentPositivePower(long, int, int, boolean, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum);
    descriptor: (JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=8
        start local 0 // long significand
        start local 2 // int exponent
        start local 3 // int estimated_power
        start local 4 // boolean need_boundary_deltas
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
         0: .line 466
            aload 5 /* numerator */
            lload 0 /* significand */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt64:(J)V
         1: .line 468
            aload 6 /* denominator */
            bipush 10
            iload 3 /* estimated_power */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignPowerUInt16:(II)V
         2: .line 469
            aload 6 /* denominator */
            iload 2 /* exponent */
            ineg
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         3: .line 471
            iload 4 /* need_boundary_deltas */
            ifeq 8
         4: .line 474
            aload 6 /* denominator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         5: .line 475
            aload 5 /* numerator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         6: .line 480
            aload 8 /* delta_plus */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt16:(C)V
         7: .line 482
            aload 7 /* delta_minus */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt16:(C)V
         8: .line 484
      StackMap locals:
      StackMap stack:
            return
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 4 // boolean need_boundary_deltas
        end local 3 // int estimated_power
        end local 2 // int exponent
        end local 0 // long significand
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0           significand  J
            0    9     2              exponent  I
            0    9     3       estimated_power  I
            0    9     4  need_boundary_deltas  Z
            0    9     5             numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0    9     6           denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0    9     7           delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0    9     8            delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
    MethodParameters:
                      Name  Flags
      significand           final
      exponent              final
      estimated_power       final
      need_boundary_deltas  final
      numerator             final
      denominator           final
      delta_minus           final
      delta_plus            final

  static void initialScaledStartValuesNegativeExponentNegativePower(long, int, int, boolean, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum);
    descriptor: (JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=8
        start local 0 // long significand
        start local 2 // int exponent
        start local 3 // int estimated_power
        start local 4 // boolean need_boundary_deltas
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
         0: .line 497
            aload 5 /* numerator */
            astore 9 /* power_ten */
        start local 9 // jdk.nashorn.internal.runtime.doubleconv.Bignum power_ten
         1: .line 498
            aload 9 /* power_ten */
            bipush 10
            iload 3 /* estimated_power */
            ineg
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignPowerUInt16:(II)V
         2: .line 500
            iload 4 /* need_boundary_deltas */
            ifeq 5
         3: .line 504
            aload 8 /* delta_plus */
            aload 9 /* power_ten */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
         4: .line 505
            aload 7 /* delta_minus */
            aload 9 /* power_ten */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
         5: .line 513
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.Bignum
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$assertionsDisabled:Z
            ifne 6
            aload 5 /* numerator */
            aload 9 /* power_ten */
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 514
      StackMap locals:
      StackMap stack:
            aload 5 /* numerator */
            lload 0 /* significand */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.multiplyByUInt64:(J)V
         7: .line 517
            aload 6 /* denominator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignUInt16:(C)V
         8: .line 518
            aload 6 /* denominator */
            iload 2 /* exponent */
            ineg
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
         9: .line 520
            iload 4 /* need_boundary_deltas */
            ifeq 12
        10: .line 523
            aload 5 /* numerator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        11: .line 524
            aload 6 /* denominator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        12: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 9 // jdk.nashorn.internal.runtime.doubleconv.Bignum power_ten
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 4 // boolean need_boundary_deltas
        end local 3 // int estimated_power
        end local 2 // int exponent
        end local 0 // long significand
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0           significand  J
            0   13     2              exponent  I
            0   13     3       estimated_power  I
            0   13     4  need_boundary_deltas  Z
            0   13     5             numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   13     6           denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   13     7           delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   13     8            delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            1   13     9             power_ten  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
    MethodParameters:
                      Name  Flags
      significand           final
      exponent              final
      estimated_power       final
      need_boundary_deltas  final
      numerator             final
      denominator           final
      delta_minus           final
      delta_plus            final

  static void initialScaledStartValues(long, int, boolean, int, boolean, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum);
    descriptor: (JIZIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=10, args_size=9
        start local 0 // long significand
        start local 2 // int exponent
        start local 3 // boolean lower_boundary_is_closer
        start local 4 // int estimated_power
        start local 5 // boolean need_boundary_deltas
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 9 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
         0: .line 581
            iload 2 /* exponent */
            iflt 5
         1: .line 583
            lload 0 /* significand */
            iload 2 /* exponent */
            iload 4 /* estimated_power */
            iload 5 /* need_boundary_deltas */
         2: .line 584
            aload 6 /* numerator */
            aload 7 /* denominator */
            aload 8 /* delta_minus */
            aload 9 /* delta_plus */
         3: .line 582
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.initialScaledStartValuesPositiveExponent:(JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
         4: .line 585
            goto 13
      StackMap locals:
      StackMap stack:
         5: iload 4 /* estimated_power */
            iflt 10
         6: .line 587
            lload 0 /* significand */
            iload 2 /* exponent */
            iload 4 /* estimated_power */
            iload 5 /* need_boundary_deltas */
         7: .line 588
            aload 6 /* numerator */
            aload 7 /* denominator */
            aload 8 /* delta_minus */
            aload 9 /* delta_plus */
         8: .line 586
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.initialScaledStartValuesNegativeExponentPositivePower:(JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
         9: .line 589
            goto 13
        10: .line 591
      StackMap locals:
      StackMap stack:
            lload 0 /* significand */
            iload 2 /* exponent */
            iload 4 /* estimated_power */
            iload 5 /* need_boundary_deltas */
        11: .line 592
            aload 6 /* numerator */
            aload 7 /* denominator */
            aload 8 /* delta_minus */
            aload 9 /* delta_plus */
        12: .line 590
            invokestatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.initialScaledStartValuesNegativeExponentNegativePower:(JIIZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
        13: .line 595
      StackMap locals:
      StackMap stack:
            iload 5 /* need_boundary_deltas */
            ifeq 17
            iload 3 /* lower_boundary_is_closer */
            ifeq 17
        14: .line 598
            aload 7 /* denominator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        15: .line 599
            aload 6 /* numerator */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        16: .line 600
            aload 9 /* delta_plus */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.shiftLeft:(I)V
        17: .line 602
      StackMap locals:
      StackMap stack:
            return
        end local 9 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 5 // boolean need_boundary_deltas
        end local 4 // int estimated_power
        end local 3 // boolean lower_boundary_is_closer
        end local 2 // int exponent
        end local 0 // long significand
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   18     0               significand  J
            0   18     2                  exponent  I
            0   18     3  lower_boundary_is_closer  Z
            0   18     4           estimated_power  I
            0   18     5      need_boundary_deltas  Z
            0   18     6                 numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   18     7               denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   18     8               delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   18     9                delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
    MethodParameters:
                          Name  Flags
      significand               final
      exponent                  final
      lower_boundary_is_closer  final
      estimated_power           final
      need_boundary_deltas      final
      numerator                 final
      denominator               final
      delta_minus               final
      delta_plus                final

  static int fixupMultiply10(int, boolean, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum, jdk.nashorn.internal.runtime.doubleconv.Bignum);
    descriptor: (IZLjdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=6
        start local 0 // int estimated_power
        start local 1 // boolean is_even
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        start local 4 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
         0: .line 621
            iload 1 /* is_even */
            ifeq 5
         1: .line 624
            aload 2 /* numerator */
            aload 5 /* delta_plus */
            aload 3 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 6 /* in_range */
        start local 6 // boolean in_range
         4: .line 625
            goto 8
        end local 6 // boolean in_range
         5: .line 626
      StackMap locals:
      StackMap stack:
            aload 2 /* numerator */
            aload 5 /* delta_plus */
            aload 3 /* denominator */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.plusCompare:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)I
            ifle 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* in_range */
        start local 6 // boolean in_range
         8: .line 628
      StackMap locals: int
      StackMap stack:
            iload 6 /* in_range */
            ifeq 11
         9: .line 631
            iload 0 /* estimated_power */
            iconst_1
            iadd
            istore 7 /* decimal_point */
        start local 7 // int decimal_point
        10: .line 632
            goto 19
        end local 7 // int decimal_point
        11: .line 633
      StackMap locals:
      StackMap stack:
            iload 0 /* estimated_power */
            istore 7 /* decimal_point */
        start local 7 // int decimal_point
        12: .line 634
            aload 2 /* numerator */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        13: .line 635
            aload 4 /* delta_minus */
            aload 5 /* delta_plus */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.Bignum.equal:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)Z
            ifeq 17
        14: .line 636
            aload 4 /* delta_minus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        15: .line 637
            aload 5 /* delta_plus */
            aload 4 /* delta_minus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.assignBignum:(Ljdk/nashorn/internal/runtime/doubleconv/Bignum;)V
        16: .line 638
            goto 19
        17: .line 639
      StackMap locals: int
      StackMap stack:
            aload 4 /* delta_minus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        18: .line 640
            aload 5 /* delta_plus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.Bignum.times10:()V
        19: .line 643
      StackMap locals:
      StackMap stack:
            iload 7 /* decimal_point */
            ireturn
        end local 7 // int decimal_point
        end local 6 // boolean in_range
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_plus
        end local 4 // jdk.nashorn.internal.runtime.doubleconv.Bignum delta_minus
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.Bignum denominator
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.Bignum numerator
        end local 1 // boolean is_even
        end local 0 // int estimated_power
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0  estimated_power  I
            0   20     1          is_even  Z
            0   20     2        numerator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   20     3      denominator  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   20     4      delta_minus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            0   20     5       delta_plus  Ljdk/nashorn/internal/runtime/doubleconv/Bignum;
            4    5     6         in_range  Z
            8   20     6         in_range  Z
           10   11     7    decimal_point  I
           12   20     7    decimal_point  I
    MethodParameters:
                 Name  Flags
      estimated_power  final
      is_even          final
      numerator        final
      denominator      final
      delta_minus      final
      delta_plus       final

  static int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 62
            getstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.values:()[Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.FIXED:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.PRECISION:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.SHORTEST:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic jdk.nashorn.internal.runtime.doubleconv.BignumDtoa.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "BignumDtoa.java"