public class com.oracle.truffle.js.runtime.external.DToA
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.external.DToA
  super_class: java.lang.Object
{
  private static final int Frac_mask;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048575

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

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

  private static final long Frac_maskL;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4503599627370495

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

  private static final long Exp_msk1L;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4503599627370496

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

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

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

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

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

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

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

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

  private static char basedigit(int);
    descriptor: (I)C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int digit
         0: .line 43
            iload 0 /* digit */
            bipush 10
            if_icmplt 1
            bipush 87
            iload 0 /* digit */
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: bipush 48
            iload 0 /* digit */
            iadd
      StackMap locals:
      StackMap stack: int
         2: i2c
            ireturn
        end local 0 // int digit
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  digit  I
    MethodParameters:
       Name  Flags
      digit  

  private static int lo0bits(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int y
         0: .line 65
            iload 0 /* y */
            istore 2 /* x */
        start local 2 // int x
         1: .line 67
            iload 2 /* x */
            bipush 7
            iand
            ifeq 7
         2: .line 68
            iload 2 /* x */
            iconst_1
            iand
            ifeq 4
         3: .line 69
            iconst_0
            ireturn
         4: .line 71
      StackMap locals: int top int
      StackMap stack:
            iload 2 /* x */
            iconst_2
            iand
            ifeq 6
         5: .line 72
            iconst_1
            ireturn
         6: .line 74
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         7: .line 76
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* k */
        start local 1 // int k
         8: .line 77
            iload 2 /* x */
            ldc 65535
            iand
            ifne 11
         9: .line 78
            bipush 16
            istore 1 /* k */
        10: .line 79
            iload 2 /* x */
            bipush 16
            iushr
            istore 2 /* x */
        11: .line 81
      StackMap locals: int int int
      StackMap stack:
            iload 2 /* x */
            sipush 255
            iand
            ifne 14
        12: .line 82
            iinc 1 /* k */ 8
        13: .line 83
            iload 2 /* x */
            bipush 8
            iushr
            istore 2 /* x */
        14: .line 85
      StackMap locals:
      StackMap stack:
            iload 2 /* x */
            bipush 15
            iand
            ifne 17
        15: .line 86
            iinc 1 /* k */ 4
        16: .line 87
            iload 2 /* x */
            iconst_4
            iushr
            istore 2 /* x */
        17: .line 89
      StackMap locals:
      StackMap stack:
            iload 2 /* x */
            iconst_3
            iand
            ifne 20
        18: .line 90
            iinc 1 /* k */ 2
        19: .line 91
            iload 2 /* x */
            iconst_2
            iushr
            istore 2 /* x */
        20: .line 93
      StackMap locals:
      StackMap stack:
            iload 2 /* x */
            iconst_1
            iand
            ifne 25
        21: .line 94
            iinc 1 /* k */ 1
        22: .line 95
            iload 2 /* x */
            iconst_1
            iushr
            istore 2 /* x */
        23: .line 96
            iload 2 /* x */
            iconst_1
            iand
            ifne 25
        24: .line 97
            bipush 32
            ireturn
        25: .line 100
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            ireturn
        end local 2 // int x
        end local 1 // int k
        end local 0 // int y
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0     y  I
            8   26     1     k  I
            1   26     2     x  I
    MethodParameters:
      Name  Flags
      y     

  private static int hi0bits(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int xParam
         0: .line 105
            iload 0 /* xParam */
            istore 1 /* x */
        start local 1 // int x
         1: .line 106
            iconst_0
            istore 2 /* k */
        start local 2 // int k
         2: .line 108
            iload 1 /* x */
            ldc -65536
            iand
            ifne 5
         3: .line 109
            bipush 16
            istore 2 /* k */
         4: .line 110
            iload 1 /* x */
            bipush 16
            ishl
            istore 1 /* x */
         5: .line 112
      StackMap locals: int int
      StackMap stack:
            iload 1 /* x */
            ldc -16777216
            iand
            ifne 8
         6: .line 113
            iinc 2 /* k */ 8
         7: .line 114
            iload 1 /* x */
            bipush 8
            ishl
            istore 1 /* x */
         8: .line 116
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            ldc -268435456
            iand
            ifne 11
         9: .line 117
            iinc 2 /* k */ 4
        10: .line 118
            iload 1 /* x */
            iconst_4
            ishl
            istore 1 /* x */
        11: .line 120
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            ldc -1073741824
            iand
            ifne 14
        12: .line 121
            iinc 2 /* k */ 2
        13: .line 122
            iload 1 /* x */
            iconst_2
            ishl
            istore 1 /* x */
        14: .line 124
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            ldc -2147483648
            iand
            ifne 18
        15: .line 125
            iinc 2 /* k */ 1
        16: .line 126
            iload 1 /* x */
            ldc 1073741824
            iand
            ifne 18
        17: .line 127
            bipush 32
            ireturn
        18: .line 130
      StackMap locals:
      StackMap stack:
            iload 2 /* k */
            ireturn
        end local 2 // int k
        end local 1 // int x
        end local 0 // int xParam
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0  xParam  I
            1   19     1       x  I
            2   19     2       k  I
    MethodParameters:
        Name  Flags
      xParam  

  private static void stuffBits(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] bits
        start local 1 // int offset
        start local 2 // int val
         0: .line 134
            aload 0 /* bits */
            iload 1 /* offset */
            iload 2 /* val */
            bipush 24
            ishr
            i2b
            bastore
         1: .line 135
            aload 0 /* bits */
            iload 1 /* offset */
            iconst_1
            iadd
            iload 2 /* val */
            bipush 16
            ishr
            i2b
            bastore
         2: .line 136
            aload 0 /* bits */
            iload 1 /* offset */
            iconst_2
            iadd
            iload 2 /* val */
            bipush 8
            ishr
            i2b
            bastore
         3: .line 137
            aload 0 /* bits */
            iload 1 /* offset */
            iconst_3
            iadd
            iload 2 /* val */
            i2b
            bastore
         4: .line 138
            return
        end local 2 // int val
        end local 1 // int offset
        end local 0 // byte[] bits
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    bits  [B
            0    5     1  offset  I
            0    5     2     val  I
    MethodParameters:
        Name  Flags
      bits    
      offset  
      val     

  private static java.math.BigInteger d2b(double, int[], int[]);
    descriptor: (D[I[I)Ljava/math/BigInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // double d
        start local 2 // int[] e
        start local 3 // int[] bits
         0: .line 152
            dload 0 /* d */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 10 /* dBits */
        start local 10 // long dBits
         1: .line 153
            lload 10 /* dBits */
            bipush 32
            lushr
            l2i
            istore 12 /* d0 */
        start local 12 // int d0
         2: .line 154
            lload 10 /* dBits */
            l2i
            istore 13 /* d1 */
        start local 13 // int d1
         3: .line 156
            iload 12 /* d0 */
            ldc 1048575
            iand
            istore 8 /* z */
        start local 8 // int z
         4: .line 157
            iload 12 /* d0 */
            ldc 2147483647
            iand
            istore 12 /* d0 */
         5: .line 159
            iload 12 /* d0 */
            bipush 20
            iushr
            dup
            istore 9 /* de */
        start local 9 // int de
         6: ifeq 8
         7: .line 160
            iload 8 /* z */
            ldc 1048576
            ior
            istore 8 /* z */
         8: .line 163
      StackMap locals: double int[] int[] top top top top int int long int int
      StackMap stack:
            iload 13 /* d1 */
            dup
            istore 7 /* y */
        start local 7 // int y
         9: ifeq 23
        10: .line 164
            bipush 8
            newarray 8
            astore 4 /* dblBits */
        start local 4 // byte[] dblBits
        11: .line 165
            iload 7 /* y */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.lo0bits:(I)I
            istore 6 /* k */
        start local 6 // int k
        12: .line 166
            iload 7 /* y */
            iload 6 /* k */
            iushr
            istore 7 /* y */
        13: .line 167
            iload 6 /* k */
            ifeq 17
        14: .line 168
            aload 4 /* dblBits */
            iconst_4
            iload 7 /* y */
            iload 8 /* z */
            bipush 32
            iload 6 /* k */
            isub
            ishl
            ior
            invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
        15: .line 169
            iload 8 /* z */
            iload 6 /* k */
            ishr
            istore 8 /* z */
        16: .line 170
            goto 18
        17: .line 171
      StackMap locals: double int[] int[] byte[] top int int int int long int int
      StackMap stack:
            aload 4 /* dblBits */
            iconst_4
            iload 7 /* y */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
        18: .line 173
      StackMap locals:
      StackMap stack:
            aload 4 /* dblBits */
            iconst_0
            iload 8 /* z */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
        19: .line 174
            iload 8 /* z */
            ifeq 20
            iconst_2
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: istore 5 /* i */
        start local 5 // int i
        22: .line 175
            goto 29
        end local 6 // int k
        end local 5 // int i
        end local 4 // byte[] dblBits
        23: .line 177
      StackMap locals: double int[] int[] top top top int int int long int int
      StackMap stack:
            iconst_4
            newarray 8
            astore 4 /* dblBits */
        start local 4 // byte[] dblBits
        24: .line 178
            iload 8 /* z */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.lo0bits:(I)I
            istore 6 /* k */
        start local 6 // int k
        25: .line 179
            iload 8 /* z */
            iload 6 /* k */
            iushr
            istore 8 /* z */
        26: .line 180
            aload 4 /* dblBits */
            iconst_0
            iload 8 /* z */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
        27: .line 181
            iinc 6 /* k */ 32
        28: .line 182
            iconst_1
            istore 5 /* i */
        start local 5 // int i
        29: .line 184
      StackMap locals: double int[] int[] byte[] int int int int int long int int
      StackMap stack:
            iload 9 /* de */
            ifeq 33
        30: .line 185
            aload 2 /* e */
            iconst_0
            iload 9 /* de */
            sipush 1023
            isub
            bipush 52
            isub
            iload 6 /* k */
            iadd
            iastore
        31: .line 186
            aload 3 /* bits */
            iconst_0
            bipush 53
            iload 6 /* k */
            isub
            iastore
        32: .line 187
            goto 35
        33: .line 188
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            iconst_0
            iload 9 /* de */
            sipush 1023
            isub
            bipush 52
            isub
            iconst_1
            iadd
            iload 6 /* k */
            iadd
            iastore
        34: .line 189
            aload 3 /* bits */
            iconst_0
            bipush 32
            iload 5 /* i */
            imul
            iload 8 /* z */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.hi0bits:(I)I
            isub
            iastore
        35: .line 191
      StackMap locals:
      StackMap stack:
            new java.math.BigInteger
            dup
            aload 4 /* dblBits */
            invokespecial java.math.BigInteger.<init>:([B)V
            areturn
        end local 13 // int d1
        end local 12 // int d0
        end local 10 // long dBits
        end local 9 // int de
        end local 8 // int z
        end local 7 // int y
        end local 6 // int k
        end local 5 // int i
        end local 4 // byte[] dblBits
        end local 3 // int[] bits
        end local 2 // int[] e
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0        d  D
            0   36     2        e  [I
            0   36     3     bits  [I
           11   23     4  dblBits  [B
           24   36     4  dblBits  [B
           22   23     5        i  I
           29   36     5        i  I
           12   23     6        k  I
           25   36     6        k  I
            9   36     7        y  I
            4   36     8        z  I
            6   36     9       de  I
            1   36    10    dBits  J
            2   36    12       d0  I
            3   36    13       d1  I
    MethodParameters:
      Name  Flags
      d     
      e     
      bits  

  public static java.lang.String jsDtobasestr(int, double);
    descriptor: (ID)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=32, args_size=2
        start local 0 // int base
        start local 1 // double dParam
         0: .line 195
            iconst_2
            iload 0 /* base */
            if_icmpgt 1
            iload 0 /* base */
            bipush 36
            if_icmple 2
         1: .line 196
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad base: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* base */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 198
      StackMap locals:
      StackMap stack:
            dload 1 /* dParam */
            dstore 3 /* d */
        start local 3 // double d
         3: .line 201
            dload 3 /* d */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 5
         4: .line 202
            ldc "NaN"
            areturn
         5: .line 203
      StackMap locals: double
      StackMap stack:
            dload 3 /* d */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 9
         6: .line 204
            dload 3 /* d */
            dconst_0
            dcmpl
            ifle 7
            ldc "Infinity"
            goto 8
      StackMap locals:
      StackMap stack:
         7: ldc "-Infinity"
      StackMap locals:
      StackMap stack: java.lang.String
         8: areturn
         9: .line 205
      StackMap locals:
      StackMap stack:
            dload 3 /* d */
            dconst_0
            dcmpl
            ifne 11
        10: .line 207
            ldc "0"
            areturn
        11: .line 211
      StackMap locals:
      StackMap stack:
            dload 3 /* d */
            dconst_0
            dcmpl
            iflt 14
        12: .line 212
            iconst_0
            istore 5 /* negative */
        start local 5 // boolean negative
        13: .line 213
            goto 16
        end local 5 // boolean negative
        14: .line 214
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* negative */
        start local 5 // boolean negative
        15: .line 215
            dload 3 /* d */
            dneg
            dstore 3 /* d */
        16: .line 221
      StackMap locals: int
      StackMap stack:
            dload 3 /* d */
            invokestatic java.lang.Math.floor:(D)D
            dstore 7 /* dfloor */
        start local 7 // double dfloor
        17: .line 222
            dload 7 /* dfloor */
            d2l
            lstore 9 /* lfloor */
        start local 9 // long lfloor
        18: .line 223
            lload 9 /* lfloor */
            l2d
            dload 7 /* dfloor */
            dcmpl
            ifne 26
        19: .line 225
            lload 9 /* lfloor */
            lconst_0
            lcmp
            ifne 22
            iload 5 /* negative */
            ifeq 22
        20: .line 226
            ldc "-0"
            astore 6 /* intDigits */
        start local 6 // java.lang.String intDigits
        21: .line 227
            goto 42
        end local 6 // java.lang.String intDigits
        22: .line 228
      StackMap locals: int double double int top double long
      StackMap stack:
            iload 5 /* negative */
            ifeq 23
            lload 9 /* lfloor */
            lneg
            goto 24
      StackMap locals:
      StackMap stack:
        23: lload 9 /* lfloor */
      StackMap locals:
      StackMap stack: long
        24: iload 0 /* base */
            invokestatic java.lang.Long.toString:(JI)Ljava/lang/String;
            astore 6 /* intDigits */
        start local 6 // java.lang.String intDigits
        25: .line 230
            goto 42
        end local 6 // java.lang.String intDigits
        26: .line 232
      StackMap locals:
      StackMap stack:
            dload 7 /* dfloor */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 11 /* floorBits */
        start local 11 // long floorBits
        27: .line 233
            lload 11 /* floorBits */
            bipush 52
            lshr
            l2i
            sipush 2047
            iand
            istore 13 /* exp */
        start local 13 // int exp
        28: .line 235
            iload 13 /* exp */
            ifne 31
        29: .line 236
            lload 11 /* floorBits */
            ldc 4503599627370495
            land
            iconst_1
            lshl
            lstore 14 /* mantissa */
        start local 14 // long mantissa
        30: .line 237
            goto 32
        end local 14 // long mantissa
        31: .line 238
      StackMap locals: long int
      StackMap stack:
            lload 11 /* floorBits */
            ldc 4503599627370495
            land
            ldc 4503599627370496
            lor
            lstore 14 /* mantissa */
        start local 14 // long mantissa
        32: .line 240
      StackMap locals: long
      StackMap stack:
            iload 5 /* negative */
            ifeq 34
        33: .line 241
            lload 14 /* mantissa */
            lneg
            lstore 14 /* mantissa */
        34: .line 243
      StackMap locals:
      StackMap stack:
            iinc 13 /* exp */ -1075
        35: .line 244
            lload 14 /* mantissa */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 16 /* x */
        start local 16 // java.math.BigInteger x
        36: .line 245
            iload 13 /* exp */
            ifle 39
        37: .line 246
            aload 16 /* x */
            iload 13 /* exp */
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 16 /* x */
        38: .line 247
            goto 41
      StackMap locals: java.math.BigInteger
      StackMap stack:
        39: iload 13 /* exp */
            ifge 41
        40: .line 248
            aload 16 /* x */
            iload 13 /* exp */
            ineg
            invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
            astore 16 /* x */
        41: .line 250
      StackMap locals:
      StackMap stack:
            aload 16 /* x */
            iload 0 /* base */
            invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
            astore 6 /* intDigits */
        end local 16 // java.math.BigInteger x
        end local 14 // long mantissa
        end local 13 // int exp
        end local 11 // long floorBits
        start local 6 // java.lang.String intDigits
        42: .line 253
      StackMap locals: int double double int java.lang.String double long
      StackMap stack:
            dload 3 /* d */
            dload 7 /* dfloor */
            dcmpl
            ifne 44
        43: .line 255
            aload 6 /* intDigits */
            areturn
        44: .line 264
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 11 /* buffer */
        start local 11 // java.lang.StringBuilder buffer
        45: .line 265
            aload 11 /* buffer */
            aload 6 /* intDigits */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        46: .line 266
            dload 3 /* d */
            dload 7 /* dfloor */
            dsub
            dstore 13 /* df */
        start local 13 // double df
        47: .line 268
            dload 3 /* d */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 16 /* dBits */
        start local 16 // long dBits
        48: .line 269
            lload 16 /* dBits */
            bipush 32
            lshr
            l2i
            istore 18 /* word0 */
        start local 18 // int word0
        49: .line 270
            lload 16 /* dBits */
            l2i
            istore 19 /* word1 */
        start local 19 // int word1
        50: .line 272
            iconst_1
            newarray 10
            astore 20 /* e */
        start local 20 // int[] e
        51: .line 273
            iconst_1
            newarray 10
            astore 21 /* bbits */
        start local 21 // int[] bbits
        52: .line 275
            dload 13 /* df */
            aload 20 /* e */
            aload 21 /* bbits */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.d2b:(D[I[I)Ljava/math/BigInteger;
            astore 15 /* b */
        start local 15 // java.math.BigInteger b
        53: .line 278
            iload 18 /* word0 */
            bipush 20
            iushr
            sipush 2047
            iand
            ineg
            istore 22 /* s2 */
        start local 22 // int s2
        54: .line 279
            iload 22 /* s2 */
            ifne 56
        55: .line 280
            iconst_m1
            istore 22 /* s2 */
        56: .line 282
      StackMap locals: int double double int java.lang.String double long java.lang.StringBuilder top double java.math.BigInteger long int int int[] int[] int
      StackMap stack:
            iinc 22 /* s2 */ 1076
        57: .line 284
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            astore 23 /* mlo */
        start local 23 // java.math.BigInteger mlo
        58: .line 285
            aload 23 /* mlo */
            astore 24 /* mhi */
        start local 24 // java.math.BigInteger mhi
        59: .line 286
            iload 19 /* word1 */
            ifne 62
            iload 18 /* word0 */
            ldc 1048575
            iand
            ifne 62
            iload 18 /* word0 */
            ldc 2145386496
            iand
            ifeq 62
        60: .line 292
            iinc 22 /* s2 */ 1
        61: .line 293
            ldc 2
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 24 /* mhi */
        62: .line 296
      StackMap locals: java.math.BigInteger java.math.BigInteger
      StackMap stack:
            aload 15 /* b */
            aload 20 /* e */
            iconst_0
            iaload
            iload 22 /* s2 */
            iadd
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 15 /* b */
        63: .line 297
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            astore 25 /* s */
        start local 25 // java.math.BigInteger s
        64: .line 298
            aload 25 /* s */
            iload 22 /* s2 */
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 25 /* s */
        65: .line 308
            iload 0 /* base */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 26 /* bigBase */
        start local 26 // java.math.BigInteger bigBase
        66: .line 310
            iconst_0
            istore 27 /* done */
        start local 27 // boolean done
        67: .line 312
      StackMap locals: java.math.BigInteger java.math.BigInteger int
      StackMap stack:
            aload 15 /* b */
            aload 26 /* bigBase */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 15 /* b */
        68: .line 313
            aload 15 /* b */
            aload 25 /* s */
            invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
            astore 28 /* divResult */
        start local 28 // java.math.BigInteger[] divResult
        69: .line 314
            aload 28 /* divResult */
            iconst_1
            aaload
            astore 15 /* b */
        70: .line 315
            aload 28 /* divResult */
            iconst_0
            aaload
            invokevirtual java.math.BigInteger.intValue:()I
            i2c
            istore 12 /* digit */
        start local 12 // int digit
        71: .line 316
            aload 23 /* mlo */
            aload 24 /* mhi */
            if_acmpne 74
        72: .line 317
            aload 23 /* mlo */
            aload 26 /* bigBase */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            dup
            astore 24 /* mhi */
            astore 23 /* mlo */
        73: .line 318
            goto 76
        74: .line 319
      StackMap locals: int double double int java.lang.String double long java.lang.StringBuilder int double java.math.BigInteger long int int int[] int[] int java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger int java.math.BigInteger[]
      StackMap stack:
            aload 23 /* mlo */
            aload 26 /* bigBase */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 23 /* mlo */
        75: .line 320
            aload 24 /* mhi */
            aload 26 /* bigBase */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 24 /* mhi */
        76: .line 324
      StackMap locals:
      StackMap stack:
            aload 15 /* b */
            aload 23 /* mlo */
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            istore 29 /* j */
        start local 29 // int j
        77: .line 326
            aload 25 /* s */
            aload 24 /* mhi */
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 30 /* delta */
        start local 30 // java.math.BigInteger delta
        78: .line 327
            aload 30 /* delta */
            invokevirtual java.math.BigInteger.signum:()I
            ifgt 79
            iconst_1
            goto 80
      StackMap locals: int java.math.BigInteger
      StackMap stack:
        79: aload 15 /* b */
            aload 30 /* delta */
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
      StackMap locals:
      StackMap stack: int
        80: istore 31 /* j1 */
        start local 31 // int j1
        81: .line 329
            iload 31 /* j1 */
            ifne 86
            iload 19 /* word1 */
            iconst_1
            iand
            ifne 86
        82: .line 330
            iload 29 /* j */
            ifle 84
        83: .line 331
            iinc 12 /* digit */ 1
        84: .line 333
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 27 /* done */
        85: .line 334
            goto 97
      StackMap locals:
      StackMap stack:
        86: iload 29 /* j */
            iflt 87
            iload 29 /* j */
            ifne 94
            iload 19 /* word1 */
            iconst_1
            iand
            ifne 94
        87: .line 335
      StackMap locals:
      StackMap stack:
            iload 31 /* j1 */
            ifle 92
        88: .line 340
            aload 15 /* b */
            iconst_1
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 15 /* b */
        89: .line 341
            aload 15 /* b */
            aload 25 /* s */
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            istore 31 /* j1 */
        90: .line 342
            iload 31 /* j1 */
            ifle 92
        91: .line 347
            iinc 12 /* digit */ 1
        92: .line 350
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 27 /* done */
        93: .line 351
            goto 97
      StackMap locals:
      StackMap stack:
        94: iload 31 /* j1 */
            ifle 97
        95: .line 352
            iinc 12 /* digit */ 1
        96: .line 353
            iconst_1
            istore 27 /* done */
        97: .line 355
      StackMap locals:
      StackMap stack:
            aload 11 /* buffer */
            iload 12 /* digit */
            invokestatic com.oracle.truffle.js.runtime.external.DToA.basedigit:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 31 // int j1
        end local 30 // java.math.BigInteger delta
        end local 29 // int j
        end local 28 // java.math.BigInteger[] divResult
        98: .line 356
            iload 27 /* done */
            ifeq 67
        99: .line 358
            aload 11 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 27 // boolean done
        end local 26 // java.math.BigInteger bigBase
        end local 25 // java.math.BigInteger s
        end local 24 // java.math.BigInteger mhi
        end local 23 // java.math.BigInteger mlo
        end local 22 // int s2
        end local 21 // int[] bbits
        end local 20 // int[] e
        end local 19 // int word1
        end local 18 // int word0
        end local 16 // long dBits
        end local 15 // java.math.BigInteger b
        end local 13 // double df
        end local 12 // int digit
        end local 11 // java.lang.StringBuilder buffer
        end local 9 // long lfloor
        end local 7 // double dfloor
        end local 6 // java.lang.String intDigits
        end local 5 // boolean negative
        end local 3 // double d
        end local 1 // double dParam
        end local 0 // int base
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  100     0       base  I
            0  100     1     dParam  D
            3  100     3          d  D
           13   14     5   negative  Z
           15  100     5   negative  Z
           21   22     6  intDigits  Ljava/lang/String;
           25   26     6  intDigits  Ljava/lang/String;
           42  100     6  intDigits  Ljava/lang/String;
           17  100     7     dfloor  D
           18  100     9     lfloor  J
           27   42    11  floorBits  J
           28   42    13        exp  I
           30   31    14   mantissa  J
           32   42    14   mantissa  J
           36   42    16          x  Ljava/math/BigInteger;
           45  100    11     buffer  Ljava/lang/StringBuilder;
           71  100    12      digit  I
           47  100    13         df  D
           53  100    15          b  Ljava/math/BigInteger;
           48  100    16      dBits  J
           49  100    18      word0  I
           50  100    19      word1  I
           51  100    20          e  [I
           52  100    21      bbits  [I
           54  100    22         s2  I
           58  100    23        mlo  Ljava/math/BigInteger;
           59  100    24        mhi  Ljava/math/BigInteger;
           64  100    25          s  Ljava/math/BigInteger;
           66  100    26    bigBase  Ljava/math/BigInteger;
           67  100    27       done  Z
           69   98    28  divResult  [Ljava/math/BigInteger;
           77   98    29          j  I
           78   98    30      delta  Ljava/math/BigInteger;
           81   98    31         j1  I
    MethodParameters:
        Name  Flags
      base    
      dParam  
}
SourceFile: "DToA.java"