class com.oracle.truffle.js.runtime.doubleconv.FastDtoa
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.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 76
            ldc Lcom/oracle/truffle/js/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 com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
         3: .line 281
            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 282
            ldc 1000000000
            iastore
         5: .line 280
            putstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
         6: .line 282
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  static boolean roundWeed(com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer, long, long, long, long, long);
    descriptor: (Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // com.oracle.truffle.js.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 112
            lload 1 /* distance_too_high_w */
            lload 9 /* unit */
            lsub
            lstore 11 /* small_distance */
        start local 11 // long small_distance
         1: .line 113
            lload 1 /* distance_too_high_w */
            lload 9 /* unit */
            ladd
            lstore 13 /* big_distance */
        start local 13 // long big_distance
         2: .line 185
            getstatic com.oracle.truffle.js.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 190
      StackMap locals: long long
      StackMap stack:
            aload 0 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 0 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.length:I
            iconst_1
            isub
            dup2
            caload
            iconst_1
            isub
            i2c
            castore
         4: .line 191
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lstore 5 /* rest */
         5: .line 186
      StackMap locals:
      StackMap stack:
            lload 5 /* rest */
            lload 11 /* small_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 10
         6: .line 187
            lload 3 /* unsafe_interval */
            lload 5 /* rest */
            lsub
            lload 7 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 10
         7: .line 188
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 11 /* small_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 3
         8: .line 189
            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 186
            ifge 3
        10: .line 197
      StackMap locals:
      StackMap stack:
            lload 5 /* rest */
            lload 13 /* big_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 15
        11: .line 198
            lload 3 /* unsafe_interval */
            lload 5 /* rest */
            lsub
            lload 7 /* ten_kappa */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 15
        12: .line 199
            lload 5 /* rest */
            lload 7 /* ten_kappa */
            ladd
            lload 13 /* big_distance */
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 14
        13: .line 200
            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 201
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 209
      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 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0               buffer  Lcom/oracle/truffle/js/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 230
            getstatic com.oracle.truffle.js.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 237
      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 241
      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 243
      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 244
            iconst_1
            ireturn
         5: .line 247
      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 249
            aload 0 /* buffer */
            iload 1 /* length */
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
         7: .line 250
            iload 1 /* length */
            iconst_1
            isub
            istore 8 /* i */
        start local 8 // int i
         8: goto 13
         9: .line 251
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            iload 8 /* i */
            caload
            bipush 58
            if_icmpeq 10
            goto 14
        10: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 8 /* i */
            bipush 48
            castore
        11: .line 253
            aload 0 /* buffer */
            iload 8 /* i */
            iconst_1
            isub
            dup2
            caload
            iconst_1
            iadd
            i2c
            castore
        12: .line 250
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            ifgt 9
        end local 8 // int i
        14: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iconst_0
            caload
            bipush 58
            if_icmpne 17
        15: .line 260
            aload 0 /* buffer */
            iconst_0
            bipush 49
            castore
        16: .line 262
            iconst_2
            ireturn
        17: .line 264
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        18: .line 266
      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 292
            getstatic com.oracle.truffle.js.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 294
      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 297
            iinc 4 /* exponent_plus_one_guess */ 1
         3: .line 299
            iload 0 /* number */
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
            iload 4 /* exponent_plus_one_guess */
            iaload
            if_icmpge 5
         4: .line 300
            iinc 4 /* exponent_plus_one_guess */ -1
         5: .line 302
      StackMap locals: int int top top int
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
            iload 4 /* exponent_plus_one_guess */
            iaload
            istore 2 /* power */
        start local 2 // int power
         6: .line 303
            iload 4 /* exponent_plus_one_guess */
            istore 3 /* exponent_plus_one */
        start local 3 // int exponent_plus_one
         7: .line 305
            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(com.oracle.truffle.js.runtime.doubleconv.DiyFp, com.oracle.truffle.js.runtime.doubleconv.DiyFp, com.oracle.truffle.js.runtime.doubleconv.DiyFp, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=22, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.doubleconv.DiyFp low
        start local 1 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DiyFp high
        start local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        start local 4 // int mk
         0: .line 355
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 2
            aload 0 /* low */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            if_icmpne 1
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 2 /* high */
            invokevirtual com.oracle.truffle.js.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 356
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 3
            aload 0 /* low */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            ladd
            aload 2 /* high */
            invokevirtual com.oracle.truffle.js.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 357
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 5
            bipush -60
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            if_icmpgt 4
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.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 369
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 5 /* unit */
        start local 5 // long unit
         6: .line 370
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            aload 0 /* low */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            lsub
            aload 0 /* low */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 7 /* too_low */
        start local 7 // com.oracle.truffle.js.runtime.doubleconv.DiyFp too_low
         7: .line 371
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            aload 2 /* high */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            ladd
            aload 2 /* high */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 8 /* too_high */
        start local 8 // com.oracle.truffle.js.runtime.doubleconv.DiyFp too_high
         8: .line 374
            aload 8 /* too_high */
            aload 7 /* too_low */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.minus:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 9 /* unsafe_interval */
        start local 9 // com.oracle.truffle.js.runtime.doubleconv.DiyFp unsafe_interval
         9: .line 382
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            lconst_1
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            aload 1 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 10 /* one */
        start local 10 // com.oracle.truffle.js.runtime.doubleconv.DiyFp one
        10: .line 384
            aload 8 /* too_high */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 11 /* integrals */
        start local 11 // int integrals
        11: .line 386
            aload 8 /* too_high */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 12 /* fractionals */
        start local 12 // long fractionals
        12: .line 389
            iload 11 /* integrals */
            bipush 64
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            isub
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
            lstore 16 /* result */
        start local 16 // long result
        13: .line 390
            lload 16 /* result */
            bipush 32
            lushr
            l2i
            istore 14 /* divisor */
        start local 14 // int divisor
        14: .line 391
            lload 16 /* result */
            l2i
            istore 15 /* divisor_exponent_plus_one */
        start local 15 // int divisor_exponent_plus_one
        15: .line 392
            iload 15 /* divisor_exponent_plus_one */
            istore 18 /* kappa */
        start local 18 // int kappa
        16: .line 397
            goto 31
        17: .line 398
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.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 399
            getstatic com.oracle.truffle.js.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 400
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 48
            iload 19 /* digit */
            iadd
            i2c
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
        20: .line 401
            iload 11 /* integrals */
            iload 14 /* divisor */
            irem
            istore 11 /* integrals */
        21: .line 402
            iinc 18 /* kappa */ -1
        22: .line 406
            iload 11 /* integrals */
            i2l
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 12 /* fractionals */
            ladd
        23: .line 405
            lstore 20 /* rest */
        start local 20 // long rest
        24: .line 409
            lload 20 /* rest */
            aload 9 /* unsafe_interval */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 30
        25: .line 412
            aload 3 /* buffer */
            aload 3 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.length:I
            iload 4 /* mk */
            isub
            iload 18 /* kappa */
            iadd
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        26: .line 413
            aload 3 /* buffer */
            aload 8 /* too_high */
            aload 1 /* w */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.minus:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
        27: .line 414
            aload 9 /* unsafe_interval */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 20 /* rest */
        28: .line 415
            iload 14 /* divisor */
            i2l
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 5 /* unit */
        29: .line 413
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.roundWeed:(Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
            ireturn
        30: .line 417
      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 397
      StackMap locals:
      StackMap stack:
            iload 18 /* kappa */
            ifgt 17
        32: .line 426
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 33
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush -60
            if_icmpge 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 427
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 34
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lcmp
            iflt 34
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 428
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 35
            ldc -1
            ldc 10
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.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 430
      StackMap locals:
      StackMap stack:
            lload 12 /* fractionals */
            ldc 10
            lmul
            lstore 12 /* fractionals */
        36: .line 431
            lload 5 /* unit */
            ldc 10
            lmul
            lstore 5 /* unit */
        37: .line 432
            aload 9 /* unsafe_interval */
            aload 9 /* unsafe_interval */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            ldc 10
            lmul
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.setF:(J)V
        38: .line 434
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 19 /* digit */
        start local 19 // int digit
        39: .line 435
            getstatic com.oracle.truffle.js.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 436
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 48
            iload 19 /* digit */
            iadd
            i2c
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
        41: .line 437
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 12 /* fractionals */
        42: .line 438
            iinc 18 /* kappa */ -1
        43: .line 439
            lload 12 /* fractionals */
            aload 9 /* unsafe_interval */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifge 35
        44: .line 440
            aload 3 /* buffer */
            aload 3 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.length:I
            iload 4 /* mk */
            isub
            iload 18 /* kappa */
            iadd
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        45: .line 441
            aload 3 /* buffer */
            aload 8 /* too_high */
            aload 1 /* w */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.minus:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
            lmul
        46: .line 442
            aload 9 /* unsafe_interval */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 12 /* fractionals */
            aload 10 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 5 /* unit */
        47: .line 441
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.roundWeed:(Lcom/oracle/truffle/js/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 // com.oracle.truffle.js.runtime.doubleconv.DiyFp one
        end local 9 // com.oracle.truffle.js.runtime.doubleconv.DiyFp unsafe_interval
        end local 8 // com.oracle.truffle.js.runtime.doubleconv.DiyFp too_high
        end local 7 // com.oracle.truffle.js.runtime.doubleconv.DiyFp too_low
        end local 5 // long unit
        end local 4 // int mk
        end local 3 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DiyFp high
        end local 1 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
        end local 0 // com.oracle.truffle.js.runtime.doubleconv.DiyFp low
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   48     0                        low  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            0   48     1                          w  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            0   48     2                       high  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            0   48     3                     buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            0   48     4                         mk  I
            6   48     5                       unit  J
            7   48     7                    too_low  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            8   48     8                   too_high  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            9   48     9            unsafe_interval  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
           10   48    10                        one  Lcom/oracle/truffle/js/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(com.oracle.truffle.js.runtime.doubleconv.DiyFp, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=18, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
        start local 1 // int requested_digits
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        start local 3 // int mk
         0: .line 479
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 2
            bipush -60
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            if_icmpgt 1
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.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 484
      StackMap locals:
      StackMap stack:
            lconst_1
            lstore 4 /* w_error */
        start local 4 // long w_error
         3: .line 489
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            lconst_1
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:(JI)V
            astore 6 /* one */
        start local 6 // com.oracle.truffle.js.runtime.doubleconv.DiyFp one
         4: .line 491
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 7 /* integrals */
        start local 7 // int integrals
         5: .line 493
            aload 0 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 8 /* fractionals */
        start local 8 // long fractionals
         6: .line 496
            iload 7 /* integrals */
            bipush 64
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            isub
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
            lstore 12 /* biggestPower */
        start local 12 // long biggestPower
         7: .line 497
            lload 12 /* biggestPower */
            bipush 32
            lushr
            l2i
            istore 10 /* divisor */
        start local 10 // int divisor
         8: .line 498
            lload 12 /* biggestPower */
            l2i
            istore 11 /* divisor_exponent_plus_one */
        start local 11 // int divisor_exponent_plus_one
         9: .line 499
            iload 11 /* divisor_exponent_plus_one */
            istore 14 /* kappa */
        start local 14 // int kappa
        10: .line 505
            goto 19
        11: .line 506
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DiyFp int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.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 507
            getstatic com.oracle.truffle.js.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 508
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            bipush 48
            iload 15 /* digit */
            iadd
            i2c
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
        14: .line 509
            iinc 1 /* requested_digits */ -1
        15: .line 510
            iload 7 /* integrals */
            iload 10 /* divisor */
            irem
            istore 7 /* integrals */
        16: .line 511
            iinc 14 /* kappa */ -1
        17: .line 514
            iload 1 /* requested_digits */
            ifne 18
            goto 20
        18: .line 515
      StackMap locals:
      StackMap stack:
            iload 10 /* divisor */
            bipush 10
            idiv
            istore 10 /* divisor */
        end local 15 // int digit
        19: .line 505
      StackMap locals:
      StackMap stack:
            iload 14 /* kappa */
            ifgt 11
        20: .line 518
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifne 31
        21: .line 520
            iload 7 /* integrals */
            i2l
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 8 /* fractionals */
            ladd
        22: .line 519
            lstore 15 /* rest */
        start local 15 // long rest
        23: .line 521
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.length:I
            lload 15 /* rest */
        24: .line 522
            iload 10 /* divisor */
            i2l
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lshl
            lload 4 /* w_error */
        25: .line 521
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
            istore 17 /* result */
        start local 17 // int result
        26: .line 523
            aload 2 /* buffer */
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.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: com.oracle.truffle.js.runtime.doubleconv.DiyFp int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.runtime.doubleconv.DiyFp int long int int long int long int
      StackMap stack: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int
        27: iconst_0
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DiyFp int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.runtime.doubleconv.DiyFp int long int int long int long int
      StackMap stack: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int int
        28: iadd
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        29: .line 524
            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 533
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 32
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush -60
            if_icmpge 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 534
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 33
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lcmp
            iflt 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 535
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 42
            ldc -1
            ldc 10
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.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 537
      StackMap locals:
      StackMap stack:
            lload 8 /* fractionals */
            ldc 10
            lmul
            lstore 8 /* fractionals */
        35: .line 538
            lload 4 /* w_error */
            ldc 10
            lmul
            lstore 4 /* w_error */
        36: .line 540
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            ineg
            lushr
            l2i
            istore 15 /* digit */
        start local 15 // int digit
        37: .line 541
            getstatic com.oracle.truffle.js.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 542
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            bipush 48
            iload 15 /* digit */
            iadd
            i2c
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.append:(C)V
        39: .line 543
            iinc 1 /* requested_digits */ -1
        40: .line 544
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lconst_1
            lsub
            land
            lstore 8 /* fractionals */
        41: .line 545
            iinc 14 /* kappa */ -1
        end local 15 // int digit
        42: .line 536
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifle 43
            lload 8 /* fractionals */
            lload 4 /* w_error */
            lcmp
            ifgt 34
        43: .line 547
      StackMap locals:
      StackMap stack:
            iload 1 /* requested_digits */
            ifeq 44
            iconst_0
            ireturn
        44: .line 548
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.chars:[C
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.length:I
            lload 8 /* fractionals */
            aload 6 /* one */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.f:()J
            lload 4 /* w_error */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
            istore 15 /* result */
        start local 15 // int result
        45: .line 549
            aload 2 /* buffer */
            aload 2 /* buffer */
            getfield com.oracle.truffle.js.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: com.oracle.truffle.js.runtime.doubleconv.DiyFp int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.runtime.doubleconv.DiyFp int long int int long int int
      StackMap stack: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int
        46: iconst_0
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DiyFp int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int long com.oracle.truffle.js.runtime.doubleconv.DiyFp int long int int long int int
      StackMap stack: com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer int int
        47: iadd
            putfield com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer.decimalPoint:I
        48: .line 550
            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 // com.oracle.truffle.js.runtime.doubleconv.DiyFp one
        end local 4 // long w_error
        end local 3 // int mk
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 1 // int requested_digits
        end local 0 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   50     0                          w  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            0   50     1           requested_digits  I
            0   50     2                     buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            0   50     3                         mk  I
            3   50     4                    w_error  J
            4   50     6                        one  Lcom/oracle/truffle/js/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, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DLcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // double v
        start local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 566
            dload 0 /* v */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            lstore 3 /* d64 */
        start local 3 // long d64
         1: .line 567
            lload 3 /* d64 */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.IeeeDouble.asNormalizedDiyFp:(J)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 5 /* w */
        start local 5 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
         2: .line 572
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:()V
            astore 6 /* boundary_minus */
        start local 6 // com.oracle.truffle.js.runtime.doubleconv.DiyFp boundary_minus
         3: new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:()V
            astore 7 /* boundary_plus */
        start local 7 // com.oracle.truffle.js.runtime.doubleconv.DiyFp boundary_plus
         4: .line 573
            lload 3 /* d64 */
            aload 6 /* boundary_minus */
            aload 7 /* boundary_plus */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.IeeeDouble.normalizedBoundaries:(JLcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)V
         5: .line 574
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 6
            aload 7 /* boundary_plus */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 5 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 575
      StackMap locals: double com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer long com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp
      StackMap stack:
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:()V
            astore 8 /* ten_mk */
        start local 8 // com.oracle.truffle.js.runtime.doubleconv.DiyFp ten_mk
         7: .line 578
            bipush -60
            aload 5 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         8: .line 577
            istore 10 /* ten_mk_minimal_binary_exponent */
        start local 10 // int ten_mk_minimal_binary_exponent
         9: .line 580
            bipush -32
            aload 5 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
        10: .line 579
            istore 11 /* ten_mk_maximal_binary_exponent */
        start local 11 // int ten_mk_maximal_binary_exponent
        11: .line 582
            iload 10 /* ten_mk_minimal_binary_exponent */
        12: .line 583
            iload 11 /* ten_mk_maximal_binary_exponent */
        13: .line 584
            aload 8 /* ten_mk */
        14: .line 581
            invokestatic com.oracle.truffle.js.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)I
            istore 9 /* mk */
        start local 9 // int mk
        15: .line 585
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 20
            bipush -60
            aload 5 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            iadd
        16: .line 586
            bipush 64
            iadd
            if_icmpgt 19
        17: .line 587
            bipush -32
            aload 5 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            iadd
        18: .line 588
            bipush 64
            iadd
            if_icmpge 20
      StackMap locals: double com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer long com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp int int int
      StackMap stack:
        19: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 598
      StackMap locals:
      StackMap stack:
            aload 5 /* w */
            aload 8 /* ten_mk */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.times:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 12 /* scaled_w */
        start local 12 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_w
        21: .line 599
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 24
            aload 12 /* scaled_w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
        22: .line 600
            aload 7 /* boundary_plus */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 8 /* ten_mk */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            iadd
            bipush 64
            iadd
        23: .line 599
            if_icmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 606
      StackMap locals: com.oracle.truffle.js.runtime.doubleconv.DiyFp
      StackMap stack:
            aload 6 /* boundary_minus */
            aload 8 /* ten_mk */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.times:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 13 /* scaled_boundary_minus */
        start local 13 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_boundary_minus
        25: .line 607
            aload 7 /* boundary_plus */
            aload 8 /* ten_mk */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.times:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 14 /* scaled_boundary_plus */
        start local 14 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_boundary_plus
        26: .line 615
            aload 13 /* scaled_boundary_minus */
            aload 12 /* scaled_w */
            aload 14 /* scaled_boundary_plus */
        27: .line 616
            aload 2 /* buffer */
            iload 9 /* mk */
        28: .line 615
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.digitGen:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;I)Z
            istore 15 /* result */
        start local 15 // boolean result
        29: .line 617
            iload 15 /* result */
            ireturn
        end local 15 // boolean result
        end local 14 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_boundary_plus
        end local 13 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_boundary_minus
        end local 12 // com.oracle.truffle.js.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 // com.oracle.truffle.js.runtime.doubleconv.DiyFp ten_mk
        end local 7 // com.oracle.truffle.js.runtime.doubleconv.DiyFp boundary_plus
        end local 6 // com.oracle.truffle.js.runtime.doubleconv.DiyFp boundary_minus
        end local 5 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
        end local 3 // long d64
        end local 2 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   30     0                               v  D
            0   30     2                          buffer  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            1   30     3                             d64  J
            2   30     5                               w  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            3   30     6                  boundary_minus  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            4   30     7                   boundary_plus  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            7   30     8                          ten_mk  Lcom/oracle/truffle/js/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  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
           25   30    13           scaled_boundary_minus  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
           26   30    14            scaled_boundary_plus  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
           29   30    15                          result  Z
    MethodParameters:
        Name  Flags
      v       final
      buffer  final

  static boolean grisu3Counted(double, int, com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer);
    descriptor: (DILcom/oracle/truffle/js/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 // com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer buffer
         0: .line 628
            dload 0 /* v */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
            lstore 4 /* d64 */
        start local 4 // long d64
         1: .line 629
            lload 4 /* d64 */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.IeeeDouble.asNormalizedDiyFp:(J)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 6 /* w */
        start local 6 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
         2: .line 630
            new com.oracle.truffle.js.runtime.doubleconv.DiyFp
            dup
            invokespecial com.oracle.truffle.js.runtime.doubleconv.DiyFp.<init>:()V
            astore 7 /* ten_mk */
        start local 7 // com.oracle.truffle.js.runtime.doubleconv.DiyFp ten_mk
         3: .line 633
            bipush -60
            aload 6 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         4: .line 632
            istore 9 /* ten_mk_minimal_binary_exponent */
        start local 9 // int ten_mk_minimal_binary_exponent
         5: .line 635
            bipush -32
            aload 6 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            bipush 64
            iadd
            isub
         6: .line 634
            istore 10 /* ten_mk_maximal_binary_exponent */
        start local 10 // int ten_mk_maximal_binary_exponent
         7: .line 637
            iload 9 /* ten_mk_minimal_binary_exponent */
         8: .line 638
            iload 10 /* ten_mk_maximal_binary_exponent */
         9: .line 639
            aload 7 /* ten_mk */
        10: .line 636
            invokestatic com.oracle.truffle.js.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)I
            istore 8 /* mk */
        start local 8 // int mk
        11: .line 640
            getstatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
            ifne 16
            bipush -60
            aload 6 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 7 /* ten_mk */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            iadd
        12: .line 641
            bipush 64
            iadd
            if_icmpgt 15
        13: .line 642
            bipush -32
            aload 6 /* w */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            aload 7 /* ten_mk */
            invokevirtual com.oracle.truffle.js.runtime.doubleconv.DiyFp.e:()I
            iadd
        14: .line 643
            bipush 64
            iadd
            if_icmpge 16
      StackMap locals: double int com.oracle.truffle.js.runtime.doubleconv.DtoaBuffer long com.oracle.truffle.js.runtime.doubleconv.DiyFp com.oracle.truffle.js.runtime.doubleconv.DiyFp int int int
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 653
      StackMap locals:
      StackMap stack:
            aload 6 /* w */
            aload 7 /* ten_mk */
            invokestatic com.oracle.truffle.js.runtime.doubleconv.DiyFp.times:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;)Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            astore 11 /* scaled_w */
        start local 11 // com.oracle.truffle.js.runtime.doubleconv.DiyFp scaled_w
        17: .line 660
            aload 11 /* scaled_w */
            iload 2 /* requested_digits */
        18: .line 661
            aload 3 /* buffer */
            iload 8 /* mk */
        19: .line 660
            invokestatic com.oracle.truffle.js.runtime.doubleconv.FastDtoa.digitGenCounted:(Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;ILcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;I)Z
            istore 12 /* result */
        start local 12 // boolean result
        20: .line 662
            iload 12 /* result */
            ireturn
        end local 12 // boolean result
        end local 11 // com.oracle.truffle.js.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 // com.oracle.truffle.js.runtime.doubleconv.DiyFp ten_mk
        end local 6 // com.oracle.truffle.js.runtime.doubleconv.DiyFp w
        end local 4 // long d64
        end local 3 // com.oracle.truffle.js.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  Lcom/oracle/truffle/js/runtime/doubleconv/DtoaBuffer;
            1   21     4                             d64  J
            2   21     6                               w  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
            3   21     7                          ten_mk  Lcom/oracle/truffle/js/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  Lcom/oracle/truffle/js/runtime/doubleconv/DiyFp;
           20   21    12                          result  Z
    MethodParameters:
                  Name  Flags
      v                 final
      requested_digits  final
      buffer            final
}
SourceFile: "FastDtoa.java"