class jdk.nashorn.internal.runtime.doubleconv.FastDtoa
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.doubleconv.FastDtoa
  super_class: java.lang.Object
{
  static final int kFastDtoaMaximalLength;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 17

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

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

  static final int[] kSmallPowersOfTen;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 62
            ldc Ljdk/nashorn/internal/runtime/doubleconv/FastDtoa;
            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.FastDtoa.$assertionsDisabled:Z
         3: .line 267
            bipush 11
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            bipush 10
            iastore
            dup
            iconst_3
            bipush 100
            iastore
            dup
            iconst_4
            sipush 1000
            iastore
            dup
            iconst_5
            sipush 10000
            iastore
            dup
            bipush 6
            ldc 100000
            iastore
            dup
            bipush 7
            ldc 1000000
            iastore
            dup
            bipush 8
            ldc 10000000
            iastore
            dup
            bipush 9
            ldc 100000000
            iastore
            dup
            bipush 10
         4: .line 268
            ldc 1000000000
            iastore
         5: .line 266
            putstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
         6: .line 268
            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.FastDtoa this
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.FastDtoa this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/doubleconv/FastDtoa;

  static boolean roundWeed(jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, long, long, long, long, long);
    descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        start local 1 // long distance_too_high_w
        start local 3 // long unsafe_interval
        start local 5 // long rest
        start local 7 // long ten_kappa
        start local 9 // long unit
         0: .line 98
            lload 1 /* distance_too_high_w */
            lload 9 /* unit */
            lsub
            lstore 11 /* small_distance */
        start local 11 // long small_distance
         1: .line 99
            lload 1 /* distance_too_high_w */
            lload 9 /* unit */
            ladd
            lstore 13 /* big_distance */
        start local 13 // long big_distance
         2: .line 171
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 5
            lload 5 /* rest */
            lload 3 /* unsafe_interval */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 176
      StackMap locals: long long
      StackMap stack:
            aload 0 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 0 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            dup2
            caload
            iconst_1
            isub
            i2c
            castore
         4: .line 177
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lstore 5 /* rest */
         5: .line 172
      StackMap locals:
      StackMap stack:
            lload 5 /* rest */
            lload 11 /* small_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 10
         6: .line 173
            lload 3 /* unsafe_interval */
            lload 5 /* rest */
            lsub
            lload 7 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 10
         7: .line 174
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 11 /* small_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 3
         8: .line 175
            lload 11 /* small_distance */
            lload 5 /* rest */
            lsub
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 11 /* small_distance */
            lsub
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
         9: .line 172
            ifge 3
        10: .line 183
      StackMap locals:
      StackMap stack:
            lload 5 /* rest */
            lload 13 /* big_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 15
        11: .line 184
            lload 3 /* unsafe_interval */
            lload 5 /* rest */
            lsub
            lload 7 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 15
        12: .line 185
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 13 /* big_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 14
        13: .line 186
            lload 13 /* big_distance */
            lload 5 /* rest */
            lsub
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 13 /* big_distance */
            lsub
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 15
        14: .line 187
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 195
      StackMap locals:
      StackMap stack:
            ldc 2
            lload 9 /* unit */
            lmul
            lload 5 /* rest */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifgt 16
            lload 5 /* rest */
            lload 3 /* unsafe_interval */
            ldc 4
            lload 9 /* unit */
            lmul
            lsub
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifgt 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        end local 13 // long big_distance
        end local 11 // long small_distance
        end local 9 // long unit
        end local 7 // long ten_kappa
        end local 5 // long rest
        end local 3 // long unsafe_interval
        end local 1 // long distance_too_high_w
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0               buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            0   17     1  distance_too_high_w  J
            0   17     3      unsafe_interval  J
            0   17     5                 rest  J
            0   17     7            ten_kappa  J
            0   17     9                 unit  J
            1   17    11       small_distance  J
            2   17    13         big_distance  J
    MethodParameters:
                     Name  Flags
      buffer               final
      distance_too_high_w  final
      unsafe_interval      final
      rest                 
      ten_kappa            final
      unit                 final

  static int roundWeedCounted(char[], int, long, long, long);
    descriptor: ([CIJJJ)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // char[] buffer
        start local 1 // int length
        start local 2 // long rest
        start local 4 // long ten_kappa
        start local 6 // long unit
         0: .line 216
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 1
            lload 2 /* rest */
            lload 4 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 223
      StackMap locals:
      StackMap stack:
            lload 6 /* unit */
            lload 4 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 2
            iconst_0
            ireturn
         2: .line 227
      StackMap locals:
      StackMap stack:
            lload 4 /* ten_kappa */
            lload 6 /* unit */
            lsub
            lload 6 /* unit */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifgt 3
            iconst_0
            ireturn
         3: .line 229
      StackMap locals:
      StackMap stack:
            lload 4 /* ten_kappa */
            lload 2 /* rest */
            lsub
            lload 2 /* rest */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 5
            lload 4 /* ten_kappa */
            ldc 2
            lload 2 /* rest */
            lmul
            lsub
            ldc 2
            lload 6 /* unit */
            lmul
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 5
         4: .line 230
            iconst_1
            ireturn
         5: .line 233
      StackMap locals:
      StackMap stack:
            lload 2 /* rest */
            lload 6 /* unit */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 18
            lload 4 /* ten_kappa */
            lload 2 /* rest */
            lload 6 /* unit */
            lsub
            lsub
            lload 2 /* rest */
            lload 6 /* unit */
            lsub
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifgt 18
         6: .line 235
            aload 0 /* buffer */
            iload 1 /* length */
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
         7: .line 236
            iload 1 /* length */
            iconst_1
            isub
            istore 8 /* i */
        start local 8 // int i
         8: goto 13
         9: .line 237
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            iload 8 /* i */
            caload
            bipush 58
            if_icmpeq 10
            goto 14
        10: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 8 /* i */
            bipush 48
            castore
        11: .line 239
            aload 0 /* buffer */
            iload 8 /* i */
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        12: .line 236
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            ifgt 9
        end local 8 // int i
        14: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iconst_0
            caload
            bipush 58
            if_icmpne 17
        15: .line 246
            aload 0 /* buffer */
            iconst_0
            bipush 49
            castore
        16: .line 248
            iconst_2
            ireturn
        17: .line 250
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        18: .line 252
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // long unit
        end local 4 // long ten_kappa
        end local 2 // long rest
        end local 1 // int length
        end local 0 // char[] buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0     buffer  [C
            0   19     1     length  I
            0   19     2       rest  J
            0   19     4  ten_kappa  J
            0   19     6       unit  J
            8   14     8          i  I
    MethodParameters:
           Name  Flags
      buffer     final
      length     final
      rest       final
      ten_kappa  final
      unit       final

  static long biggestPowerTen(int, int);
    descriptor: (II)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // int number
        start local 1 // int number_bits
         0: .line 278
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 1
            iload 0 /* number */
            i2l
            ldc 4294967295
            land
            lconst_1
            iload 1 /* number_bits */
            iconst_1
            iadd
            lshl
            lcmp
            iflt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 280
      StackMap locals:
      StackMap stack:
            iload 1 /* number_bits */
            iconst_1
            iadd
            sipush 1233
            imul
            bipush 12
            iushr
            istore 4 /* exponent_plus_one_guess */
        start local 4 // int exponent_plus_one_guess
         2: .line 283
            iinc 4 /* exponent_plus_one_guess */ 1
         3: .line 285
            iload 0 /* number */
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
            iload 4 /* exponent_plus_one_guess */
            iaload
            if_icmpge 5
         4: .line 286
            iinc 4 /* exponent_plus_one_guess */ -1
         5: .line 288
      StackMap locals: int int top top int
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
            iload 4 /* exponent_plus_one_guess */
            iaload
            istore 2 /* power */
        start local 2 // int power
         6: .line 289
            iload 4 /* exponent_plus_one_guess */
            istore 3 /* exponent_plus_one */
        start local 3 // int exponent_plus_one
         7: .line 291
            iload 2 /* power */
            i2l
            bipush 32
            lshl
            iload 3 /* exponent_plus_one */
            i2l
            lor
            lreturn
        end local 4 // int exponent_plus_one_guess
        end local 3 // int exponent_plus_one
        end local 2 // int power
        end local 1 // int number_bits
        end local 0 // int number
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                   number  I
            0    8     1              number_bits  I
            6    8     2                    power  I
            7    8     3        exponent_plus_one  I
            2    8     4  exponent_plus_one_guess  I
    MethodParameters:
             Name  Flags
      number       final
      number_bits  final

  static boolean digitGen(jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, int);
    descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=22, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.doubleconv.DiyFp low
        start local 1 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.DiyFp high
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        start local 4 // int mk
         0: .line 341
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 2
            aload 0 /* low */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            if_icmpne 1
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 2 /* high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 342
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 3
            aload 0 /* low */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            ladd
            aload 2 /* high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 343
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 5
            bipush -60
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            if_icmpgt 4
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush -32
            if_icmple 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 355
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 5 /* unit */
        start local 5 // long unit
         6: .line 356
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            aload 0 /* low */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            lsub
            aload 0 /* low */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 7 /* too_low */
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp too_low
         7: .line 357
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            aload 2 /* high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            ladd
            aload 2 /* high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 8 /* too_high */
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.DiyFp too_high
         8: .line 360
            aload 8 /* too_high */
            aload 7 /* too_low */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 9 /* unsafe_interval */
        start local 9 // jdk.nashorn.internal.runtime.doubleconv.DiyFp unsafe_interval
         9: .line 368
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            lconst_1
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            aload 1 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 10 /* one */
        start local 10 // jdk.nashorn.internal.runtime.doubleconv.DiyFp one
        10: .line 370
            aload 8 /* too_high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 11 /* integrals */
        start local 11 // int integrals
        11: .line 372
            aload 8 /* too_high */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 12 /* fractionals */
        start local 12 // long fractionals
        12: .line 375
            iload 11 /* integrals */
            bipush 64
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            isub
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
            lstore 16 /* result */
        start local 16 // long result
        13: .line 376
            lload 16 /* result */
            bipush 32
            lushr
            l2i
            istore 14 /* divisor */
        start local 14 // int divisor
        14: .line 377
            lload 16 /* result */
            l2i
            istore 15 /* divisor_exponent_plus_one */
        start local 15 // int divisor_exponent_plus_one
        15: .line 378
            iload 15 /* divisor_exponent_plus_one */
            istore 18 /* kappa */
        start local 18 // int kappa
        16: .line 383
            goto 31
        17: .line 384
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int
      StackMap stack:
            iload 11 /* integrals */
            iload 14 /* divisor */
            idiv
            istore 19 /* digit */
        start local 19 // int digit
        18: .line 385
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 19
            iload 19 /* digit */
            bipush 9
            if_icmple 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 386
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 48
            iload 19 /* digit */
            iadd
            i2c
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
        20: .line 387
            iload 11 /* integrals */
            iload 14 /* divisor */
            irem
            istore 11 /* integrals */
        21: .line 388
            iinc 18 /* kappa */ -1
        22: .line 392
            iload 11 /* integrals */
            i2l
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 12 /* fractionals */
            ladd
        23: .line 391
            lstore 20 /* rest */
        start local 20 // long rest
        24: .line 395
            lload 20 /* rest */
            aload 9 /* unsafe_interval */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 30
        25: .line 398
            aload 3 /* buffer */
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iload 4 /* mk */
            isub
            iload 18 /* kappa */
            iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        26: .line 399
            aload 3 /* buffer */
            aload 8 /* too_high */
            aload 1 /* w */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
        27: .line 400
            aload 9 /* unsafe_interval */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 20 /* rest */
        28: .line 401
            iload 14 /* divisor */
            i2l
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 5 /* unit */
        29: .line 399
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeed:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
            ireturn
        30: .line 403
      StackMap locals: long
      StackMap stack:
            iload 14 /* divisor */
            bipush 10
            idiv
            istore 14 /* divisor */
        end local 20 // long rest
        end local 19 // int digit
        31: .line 383
      StackMap locals:
      StackMap stack:
            iload 18 /* kappa */
            ifgt 17
        32: .line 412
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 33
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush -60
            if_icmpge 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 413
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 34
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lcmp
            iflt 34
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 414
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 35
            ldc -1
            ldc 10
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 416
      StackMap locals:
      StackMap stack:
            lload 12 /* fractionals */
            ldc 10
            lmul
            lstore 12 /* fractionals */
        36: .line 417
            lload 5 /* unit */
            ldc 10
            lmul
            lstore 5 /* unit */
        37: .line 418
            aload 9 /* unsafe_interval */
            aload 9 /* unsafe_interval */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            ldc 10
            lmul
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.setF:(J)V
        38: .line 420
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 19 /* digit */
        start local 19 // int digit
        39: .line 421
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 40
            iload 19 /* digit */
            bipush 9
            if_icmple 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 422
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 48
            iload 19 /* digit */
            iadd
            i2c
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
        41: .line 423
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 12 /* fractionals */
        42: .line 424
            iinc 18 /* kappa */ -1
        43: .line 425
            lload 12 /* fractionals */
            aload 9 /* unsafe_interval */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 35
        44: .line 426
            aload 3 /* buffer */
            aload 3 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iload 4 /* mk */
            isub
            iload 18 /* kappa */
            iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        45: .line 427
            aload 3 /* buffer */
            aload 8 /* too_high */
            aload 1 /* w */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            lmul
        46: .line 428
            aload 9 /* unsafe_interval */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
        47: .line 427
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeed:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
            ireturn
        end local 19 // int digit
        end local 18 // int kappa
        end local 16 // long result
        end local 15 // int divisor_exponent_plus_one
        end local 14 // int divisor
        end local 12 // long fractionals
        end local 11 // int integrals
        end local 10 // jdk.nashorn.internal.runtime.doubleconv.DiyFp one
        end local 9 // jdk.nashorn.internal.runtime.doubleconv.DiyFp unsafe_interval
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.DiyFp too_high
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp too_low
        end local 5 // long unit
        end local 4 // int mk
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.DiyFp high
        end local 1 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.DiyFp low
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   48     0                        low  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            0   48     1                          w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            0   48     2                       high  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            0   48     3                     buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            0   48     4                         mk  I
            6   48     5                       unit  J
            7   48     7                    too_low  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            8   48     8                   too_high  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            9   48     9            unsafe_interval  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           10   48    10                        one  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           11   48    11                  integrals  I
           12   48    12                fractionals  J
           14   48    14                    divisor  I
           15   48    15  divisor_exponent_plus_one  I
           13   48    16                     result  J
           16   48    18                      kappa  I
           18   31    19                      digit  I
           24   31    20                       rest  J
           39   48    19                      digit  I
    MethodParameters:
        Name  Flags
      low     final
      w       final
      high    final
      buffer  final
      mk      final

  static boolean digitGenCounted(jdk.nashorn.internal.runtime.doubleconv.DiyFp, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, int);
    descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=18, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
        start local 1 // int requested_digits
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        start local 3 // int mk
         0: .line 465
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 2
            bipush -60
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            if_icmpgt 1
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush -32
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 470
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 4 /* w_error */
        start local 4 // long w_error
         3: .line 475
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            lconst_1
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 6 /* one */
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp one
         4: .line 477
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 7 /* integrals */
        start local 7 // int integrals
         5: .line 479
            aload 0 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 8 /* fractionals */
        start local 8 // long fractionals
         6: .line 482
            iload 7 /* integrals */
            bipush 64
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            isub
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
            lstore 12 /* biggestPower */
        start local 12 // long biggestPower
         7: .line 483
            lload 12 /* biggestPower */
            bipush 32
            lushr
            l2i
            istore 10 /* divisor */
        start local 10 // int divisor
         8: .line 484
            lload 12 /* biggestPower */
            l2i
            istore 11 /* divisor_exponent_plus_one */
        start local 11 // int divisor_exponent_plus_one
         9: .line 485
            iload 11 /* divisor_exponent_plus_one */
            istore 14 /* kappa */
        start local 14 // int kappa
        10: .line 491
            goto 19
        11: .line 492
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int
      StackMap stack:
            iload 7 /* integrals */
            iload 10 /* divisor */
            idiv
            istore 15 /* digit */
        start local 15 // int digit
        12: .line 493
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 13
            iload 15 /* digit */
            bipush 9
            if_icmple 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 494
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            bipush 48
            iload 15 /* digit */
            iadd
            i2c
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
        14: .line 495
            iinc 1 /* requested_digits */ -1
        15: .line 496
            iload 7 /* integrals */
            iload 10 /* divisor */
            irem
            istore 7 /* integrals */
        16: .line 497
            iinc 14 /* kappa */ -1
        17: .line 500
            iload 1 /* requested_digits */
            ifne 18
            goto 20
        18: .line 501
      StackMap locals:
      StackMap stack:
            iload 10 /* divisor */
            bipush 10
            idiv
            istore 10 /* divisor */
        end local 15 // int digit
        19: .line 491
      StackMap locals:
      StackMap stack:
            iload 14 /* kappa */
            ifgt 11
        20: .line 504
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifne 31
        21: .line 506
            iload 7 /* integrals */
            i2l
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 8 /* fractionals */
            ladd
        22: .line 505
            lstore 15 /* rest */
        start local 15 // long rest
        23: .line 507
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            lload 15 /* rest */
        24: .line 508
            iload 10 /* divisor */
            i2l
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 4 /* w_error */
        25: .line 507
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
            istore 17 /* result */
        start local 17 // int result
        26: .line 509
            aload 2 /* buffer */
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iload 3 /* mk */
            isub
            iload 14 /* kappa */
            iadd
            iload 17 /* result */
            iconst_2
            if_icmpne 27
            iconst_1
            goto 28
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int long int
      StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int
        27: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int long int
      StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int int
        28: iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        29: .line 510
            iload 17 /* result */
            ifle 30
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        30: iconst_0
            ireturn
        end local 17 // int result
        end local 15 // long rest
        31: .line 519
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 32
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush -60
            if_icmpge 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 520
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 33
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lcmp
            iflt 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 521
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 42
            ldc -1
            ldc 10
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 523
      StackMap locals:
      StackMap stack:
            lload 8 /* fractionals */
            ldc 10
            lmul
            lstore 8 /* fractionals */
        35: .line 524
            lload 4 /* w_error */
            ldc 10
            lmul
            lstore 4 /* w_error */
        36: .line 526
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 15 /* digit */
        start local 15 // int digit
        37: .line 527
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 38
            iload 15 /* digit */
            bipush 9
            if_icmple 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        38: .line 528
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            bipush 48
            iload 15 /* digit */
            iadd
            i2c
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
        39: .line 529
            iinc 1 /* requested_digits */ -1
        40: .line 530
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 8 /* fractionals */
        41: .line 531
            iinc 14 /* kappa */ -1
        end local 15 // int digit
        42: .line 522
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifle 43
            lload 8 /* fractionals */
            lload 4 /* w_error */
            lcmp
            ifgt 34
        43: .line 533
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifeq 44
            iconst_0
            ireturn
        44: .line 534
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
            lload 4 /* w_error */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
            istore 15 /* result */
        start local 15 // int result
        45: .line 535
            aload 2 /* buffer */
            aload 2 /* buffer */
            getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
            iload 3 /* mk */
            isub
            iload 14 /* kappa */
            iadd
            iload 15 /* result */
            iconst_2
            if_icmpne 46
            iconst_1
            goto 47
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int int
      StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int
        46: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int int
      StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int int
        47: iadd
            putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        48: .line 536
            iload 15 /* result */
            ifle 49
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        49: iconst_0
            ireturn
        end local 15 // int result
        end local 14 // int kappa
        end local 12 // long biggestPower
        end local 11 // int divisor_exponent_plus_one
        end local 10 // int divisor
        end local 8 // long fractionals
        end local 7 // int integrals
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp one
        end local 4 // long w_error
        end local 3 // int mk
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 1 // int requested_digits
        end local 0 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   50     0                          w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            0   50     1           requested_digits  I
            0   50     2                     buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            0   50     3                         mk  I
            3   50     4                    w_error  J
            4   50     6                        one  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            5   50     7                  integrals  I
            6   50     8                fractionals  J
            8   50    10                    divisor  I
            9   50    11  divisor_exponent_plus_one  I
            7   50    12               biggestPower  J
           10   50    14                      kappa  I
           12   19    15                      digit  I
           23   31    15                       rest  J
           26   31    17                     result  I
           37   42    15                      digit  I
           45   50    15                     result  I
    MethodParameters:
                  Name  Flags
      w                 final
      requested_digits  
      buffer            final
      mk                final

  static boolean grisu3(double, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // double v
        start local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 552
            dload 0 /* v */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            lstore 3 /* d64 */
        start local 3 // long d64
         1: .line 553
            lload 3 /* d64 */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.asNormalizedDiyFp:(J)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 5 /* w */
        start local 5 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
         2: .line 558
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
            astore 6 /* boundary_minus */
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp boundary_minus
         3: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
            astore 7 /* boundary_plus */
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp boundary_plus
         4: .line 559
            lload 3 /* d64 */
            aload 6 /* boundary_minus */
            aload 7 /* boundary_plus */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.normalizedBoundaries:(JLjdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)V
         5: .line 560
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 6
            aload 7 /* boundary_plus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 5 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 561
      StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp
      StackMap stack:
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
            astore 8 /* ten_mk */
        start local 8 // jdk.nashorn.internal.runtime.doubleconv.DiyFp ten_mk
         7: .line 564
            bipush -60
            aload 5 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         8: .line 563
            istore 10 /* ten_mk_minimal_binary_exponent */
        start local 10 // int ten_mk_minimal_binary_exponent
         9: .line 566
            bipush -32
            aload 5 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
        10: .line 565
            istore 11 /* ten_mk_maximal_binary_exponent */
        start local 11 // int ten_mk_maximal_binary_exponent
        11: .line 568
            iload 10 /* ten_mk_minimal_binary_exponent */
        12: .line 569
            iload 11 /* ten_mk_maximal_binary_exponent */
        13: .line 570
            aload 8 /* ten_mk */
        14: .line 567
            invokestatic jdk.nashorn.internal.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILjdk/nashorn/internal/runtime/doubleconv/DiyFp;)I
            istore 9 /* mk */
        start local 9 // int mk
        15: .line 571
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 20
            bipush -60
            aload 5 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            iadd
        16: .line 572
            bipush 64
            iadd
            if_icmpgt 19
        17: .line 573
            bipush -32
            aload 5 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            iadd
        18: .line 574
            bipush 64
            iadd
            if_icmpge 20
      StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int int int
      StackMap stack:
        19: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 584
      StackMap locals:
      StackMap stack:
            aload 5 /* w */
            aload 8 /* ten_mk */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 12 /* scaled_w */
        start local 12 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_w
        21: .line 585
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 24
            aload 12 /* scaled_w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
        22: .line 586
            aload 7 /* boundary_plus */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            iadd
            bipush 64
            iadd
        23: .line 585
            if_icmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 592
      StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp
      StackMap stack:
            aload 6 /* boundary_minus */
            aload 8 /* ten_mk */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 13 /* scaled_boundary_minus */
        start local 13 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_boundary_minus
        25: .line 593
            aload 7 /* boundary_plus */
            aload 8 /* ten_mk */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 14 /* scaled_boundary_plus */
        start local 14 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_boundary_plus
        26: .line 601
            aload 13 /* scaled_boundary_minus */
            aload 12 /* scaled_w */
            aload 14 /* scaled_boundary_plus */
        27: .line 602
            aload 2 /* buffer */
            iload 9 /* mk */
        28: .line 601
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.digitGen:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
            istore 15 /* result */
        start local 15 // boolean result
        29: .line 603
            iload 15 /* result */
            ireturn
        end local 15 // boolean result
        end local 14 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_boundary_plus
        end local 13 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_boundary_minus
        end local 12 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_w
        end local 11 // int ten_mk_maximal_binary_exponent
        end local 10 // int ten_mk_minimal_binary_exponent
        end local 9 // int mk
        end local 8 // jdk.nashorn.internal.runtime.doubleconv.DiyFp ten_mk
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp boundary_plus
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp boundary_minus
        end local 5 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
        end local 3 // long d64
        end local 2 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   30     0                               v  D
            0   30     2                          buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            1   30     3                             d64  J
            2   30     5                               w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            3   30     6                  boundary_minus  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            4   30     7                   boundary_plus  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            7   30     8                          ten_mk  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           15   30     9                              mk  I
            9   30    10  ten_mk_minimal_binary_exponent  I
           11   30    11  ten_mk_maximal_binary_exponent  I
           21   30    12                        scaled_w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           25   30    13           scaled_boundary_minus  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           26   30    14            scaled_boundary_plus  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           29   30    15                          result  Z
    MethodParameters:
        Name  Flags
      v       final
      buffer  final

  static boolean grisu3Counted(double, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
    descriptor: (DILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // double v
        start local 2 // int requested_digits
        start local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
         0: .line 614
            dload 0 /* v */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            lstore 4 /* d64 */
        start local 4 // long d64
         1: .line 615
            lload 4 /* d64 */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.asNormalizedDiyFp:(J)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 6 /* w */
        start local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
         2: .line 616
            new jdk.nashorn.internal.runtime.doubleconv.DiyFp
            dup
            invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
            astore 7 /* ten_mk */
        start local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp ten_mk
         3: .line 619
            bipush -60
            aload 6 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         4: .line 618
            istore 9 /* ten_mk_minimal_binary_exponent */
        start local 9 // int ten_mk_minimal_binary_exponent
         5: .line 621
            bipush -32
            aload 6 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         6: .line 620
            istore 10 /* ten_mk_maximal_binary_exponent */
        start local 10 // int ten_mk_maximal_binary_exponent
         7: .line 623
            iload 9 /* ten_mk_minimal_binary_exponent */
         8: .line 624
            iload 10 /* ten_mk_maximal_binary_exponent */
         9: .line 625
            aload 7 /* ten_mk */
        10: .line 622
            invokestatic jdk.nashorn.internal.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILjdk/nashorn/internal/runtime/doubleconv/DiyFp;)I
            istore 8 /* mk */
        start local 8 // int mk
        11: .line 626
            getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 16
            bipush -60
            aload 6 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 7 /* ten_mk */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            iadd
        12: .line 627
            bipush 64
            iadd
            if_icmpgt 15
        13: .line 628
            bipush -32
            aload 6 /* w */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            aload 7 /* ten_mk */
            invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
            iadd
        14: .line 629
            bipush 64
            iadd
            if_icmpge 16
      StackMap locals: double int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int int int
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 639
      StackMap locals:
      StackMap stack:
            aload 6 /* w */
            aload 7 /* ten_mk */
            invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            astore 11 /* scaled_w */
        start local 11 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_w
        17: .line 646
            aload 11 /* scaled_w */
            iload 2 /* requested_digits */
        18: .line 647
            aload 3 /* buffer */
            iload 8 /* mk */
        19: .line 646
            invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.digitGenCounted:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
            istore 12 /* result */
        start local 12 // boolean result
        20: .line 648
            iload 12 /* result */
            ireturn
        end local 12 // boolean result
        end local 11 // jdk.nashorn.internal.runtime.doubleconv.DiyFp scaled_w
        end local 10 // int ten_mk_maximal_binary_exponent
        end local 9 // int ten_mk_minimal_binary_exponent
        end local 8 // int mk
        end local 7 // jdk.nashorn.internal.runtime.doubleconv.DiyFp ten_mk
        end local 6 // jdk.nashorn.internal.runtime.doubleconv.DiyFp w
        end local 4 // long d64
        end local 3 // jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // int requested_digits
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   21     0                               v  D
            0   21     2                requested_digits  I
            0   21     3                          buffer  Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
            1   21     4                             d64  J
            2   21     6                               w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
            3   21     7                          ten_mk  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           11   21     8                              mk  I
            5   21     9  ten_mk_minimal_binary_exponent  I
            7   21    10  ten_mk_maximal_binary_exponent  I
           17   21    11                        scaled_w  Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
           20   21    12                          result  Z
    MethodParameters:
                  Name  Flags
      v                 final
      requested_digits  final
      buffer            final
}
SourceFile: "FastDtoa.java"