public final class com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat implements com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
  super_class: java.lang.Object
{
  private static final int BIT_TO_HEX_FACTOR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int BIT_WIDTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 80

  public static final int BYTE_WIDTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

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

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

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

  private static final byte UNDEFINED_FLOAT_TO_BYTE_VALUE;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final short UNDEFINED_FLOAT_TO_SHORT_VALUE;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int UNDEFINED_FLOAT_TO_INT_VALUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

  private static final long UNDEFINED_FLOAT_TO_LONG_VALUE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -9223372036854775808

  private static final long UNDEFINED_DOUBLE_VALUE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -9223372036854775808

  public static final int ALL_ONE_EXPONENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32767

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_INFINITY_CONVERSION_NUMBER;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat DOUBLE_NAN_CONVERSION_NUMBER;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat POSITIVE_ZERO;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat NEGATIVE_ZERO;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat POSITIVE_INFINITY;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat NEGATIVE_INFINITY;
    descriptor: Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

  private final boolean sign;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int biasedExponent;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long fraction;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, 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=6, locals=0, args_size=0
         0: .line 55
            ldc Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            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.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
         3: .line 125
            iconst_1
            sipush 32767
            ldc -9223372036854775808
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         4: .line 126
            iconst_0
            sipush 32767
            ldc -9223372036854775808
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         5: .line 127
            iconst_0
            sipush 32767
            ldc -4611686018427387904
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         6: .line 129
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iconst_0
            iconst_0
            lconst_0
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         7: .line 130
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iconst_1
            iconst_0
            lconst_0
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         8: .line 132
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iconst_0
            sipush 32767
            ldc 63
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(J)J
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
         9: .line 133
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iconst_1
            sipush 32767
            ldc 63
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(J)J
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            putstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
        10: .line 137
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 67
            aload 0 /* this */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.toLLVMString:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public java.lang.String toDebugString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 72
            ldc "sign: %s\nexponent: %s\nfraction: %s %s\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            bipush 15
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            i2l
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBinaryString:(IJ)Ljava/lang/String;
            aastore
            dup
            iconst_2
            bipush 64
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBinaryString:(IJ)Ljava/lang/String;
            aastore
            dup
            iconst_3
         1: .line 73
            bipush 16
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getHexString:(IJ)Ljava/lang/String;
            aastore
         2: .line 72
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  public static java.lang.String toLLVMString(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value
         0: .line 78
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isQNaN:()Z
            ifeq 2
         1: .line 79
            ldc "QNaN"
            areturn
         2: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isSNaN:()Z
            ifeq 4
         3: .line 82
            ldc "SNaN"
            areturn
         4: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
            ifeq 6
         5: .line 85
            ldc "INF"
            areturn
         6: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            istore 1 /* exponent */
        start local 1 // short exponent
         7: .line 89
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            ifeq 9
         8: .line 90
            iload 1 /* exponent */
            ldc 32768
            ior
            i2s
            istore 1 /* exponent */
         9: .line 92
      StackMap locals: int
      StackMap stack:
            aload 0 /* value */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            lstore 2 /* fraction */
        start local 2 // long fraction
        10: .line 93
            ldc "0xK%4x%16x"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* exponent */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            lload 2 /* fraction */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            bipush 32
            bipush 48
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 2 // long fraction
        end local 1 // short exponent
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0     value  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            7   11     1  exponent  S
           10   11     2  fraction  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.String getBinaryString(int, long);
    descriptor: (IJ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // int bitWidth
        start local 1 // long number
         0: .line 99
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* bitWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 1 /* number */
            invokestatic java.lang.Long.toBinaryString:(J)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            ldc " "
            ldc "0"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 1 // long number
        end local 0 // int bitWidth
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  bitWidth  I
            0    1     1    number  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      bitWidth  
      number    

  private static java.lang.String getHexString(int, long);
    descriptor: (IJ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // int bitWidth
        start local 1 // long number
         0: .line 104
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* bitWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 1 /* number */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            ldc " "
            ldc "0"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 1 // long number
        end local 0 // int bitWidth
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  bitWidth  I
            0    1     1    number  J
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      bitWidth  
      number    

  public void <init>(boolean, int, long);
    descriptor: (ZIJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
        start local 1 // boolean sign
        start local 2 // int exponent
        start local 3 // long fraction
         0: .line 143
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 144
            aload 0 /* this */
            iload 1 /* sign */
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
         2: .line 145
            aload 0 /* this */
            iload 2 /* exponent */
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
         3: .line 146
            aload 0 /* this */
            lload 3 /* fraction */
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
         4: .line 147
            return
        end local 3 // long fraction
        end local 2 // int exponent
        end local 1 // boolean sign
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            0    5     1      sign  Z
            0    5     2  exponent  I
            0    5     3  fraction  J
    MethodParameters:
          Name  Flags
      sign      
      exponent  
      fraction  

  private void <init>(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
        start local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value
         0: .line 149
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            aload 1 /* value */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
         2: .line 151
            aload 0 /* this */
            aload 1 /* value */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
         3: .line 152
            aload 0 /* this */
            aload 1 /* value */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
            putfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
         4: .line 153
            return
        end local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat value
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            0    5     1  value  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    MethodParameters:
       Name  Flags
      value  

  private int getUnbiasedExponent();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 156
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
            sipush 16383
            isub
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat createPositiveZero();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 160
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 161
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iconst_0
            iconst_0
            lconst_0
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            areturn
         2: .line 163
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static long bit(int);
    descriptor: (I)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int i
         0: .line 168
            iconst_1
            iload 0 /* i */
            ishl
            i2l
            lreturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public static long bit(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long i
         0: .line 172
            lconst_1
            lload 0 /* i */
            l2i
            lshl
            lreturn
        end local 0 // long i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  J
    MethodParameters:
      Name  Flags
      i     

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromLong(long);
    descriptor: (J)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // long val
         0: .line 176
            lload 0 /* val */
            lconst_0
            lcmp
            ifne 2
         1: .line 177
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.createPositiveZero:()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
         2: .line 179
      StackMap locals:
      StackMap stack:
            lload 0 /* val */
            lconst_0
            lcmp
            ifge 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* sign */
        start local 2 // boolean sign
         5: .line 180
            lload 0 /* val */
            invokestatic java.lang.Math.abs:(J)J
            iload 2 /* sign */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 2 // boolean sign
        end local 0 // long val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   val  J
            5    6     2  sign  Z
    MethodParameters:
      Name  Flags
      val   

  private static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromLong(long, boolean);
    descriptor: (JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // long val
        start local 2 // boolean sign
         0: .line 184
            bipush 64
            lload 0 /* val */
            invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
            isub
            istore 3 /* leadingOnePosition */
        start local 3 // int leadingOnePosition
         1: .line 185
            sipush 16383
            iload 3 /* leadingOnePosition */
            iconst_1
            isub
            iadd
            istore 4 /* exponent */
        start local 4 // int exponent
         2: .line 187
            iload 3 /* leadingOnePosition */
            bipush 64
            if_icmpeq 3
            iload 3 /* leadingOnePosition */
            bipush 63
            if_icmpne 5
         3: .line 188
      StackMap locals: int int
      StackMap stack:
            ldc -1
            lstore 5 /* fractionMask */
        start local 5 // long fractionMask
         4: .line 189
            goto 6
        end local 5 // long fractionMask
         5: .line 190
      StackMap locals:
      StackMap stack:
            lconst_1
            iload 3 /* leadingOnePosition */
            iconst_1
            iadd
            lshl
            lconst_1
            lsub
            lstore 5 /* fractionMask */
        start local 5 // long fractionMask
         6: .line 192
      StackMap locals: long
      StackMap stack:
            lload 0 /* val */
            lload 5 /* fractionMask */
            land
            lstore 7 /* maskedFractionValue */
        start local 7 // long maskedFractionValue
         7: .line 193
            lload 7 /* maskedFractionValue */
            bipush 64
            iload 3 /* leadingOnePosition */
            isub
            lshl
            lstore 9 /* fraction */
        start local 9 // long fraction
         8: .line 194
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iload 2 /* sign */
            iload 4 /* exponent */
            lload 9 /* fraction */
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            areturn
        end local 9 // long fraction
        end local 7 // long maskedFractionValue
        end local 5 // long fractionMask
        end local 4 // int exponent
        end local 3 // int leadingOnePosition
        end local 2 // boolean sign
        end local 0 // long val
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                  val  J
            0    9     2                 sign  Z
            1    9     3   leadingOnePosition  I
            2    9     4             exponent  I
            4    5     5         fractionMask  J
            6    9     5         fractionMask  J
            7    9     7  maskedFractionValue  J
            8    9     9             fraction  J
    MethodParameters:
      Name  Flags
      val   
      sign  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedLong(long);
    descriptor: (J)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long val
         0: .line 198
            lload 0 /* val */
            lconst_0
            lcmp
            ifne 2
         1: .line 199
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         2: .line 201
      StackMap locals:
      StackMap stack:
            lload 0 /* val */
            iconst_0
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // long val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   val  J
    MethodParameters:
      Name  Flags
      val   

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedInt(int);
    descriptor: (I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int val
         0: .line 205
            iload 0 /* val */
            ifne 2
         1: .line 206
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            iload 0 /* val */
            i2l
            ldc 4294967295
            land
            iconst_0
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromLong:(JZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // int val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   val  I
    MethodParameters:
      Name  Flags
      val   

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromInt(int);
    descriptor: (I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int val
         0: .line 212
            iload 0 /* val */
            ifne 2
         1: .line 213
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         2: .line 215
      StackMap locals:
      StackMap stack:
            iload 0 /* val */
            ifge 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 1 /* sign */
        start local 1 // boolean sign
         5: .line 216
            iload 0 /* val */
            iload 1 /* sign */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(IZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 1 // boolean sign
        end local 0 // int val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   val  I
            5    6     1  sign  Z
    MethodParameters:
      Name  Flags
      val   

  private static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromInt(int, boolean);
    descriptor: (IZ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // int val
        start local 1 // boolean sign
         0: .line 220
            iload 0 /* val */
            invokestatic java.lang.Math.abs:(I)I
            istore 2 /* posVal */
        start local 2 // int posVal
         1: .line 221
            bipush 32
            iload 2 /* posVal */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            isub
            istore 3 /* leadingOnePosition */
        start local 3 // int leadingOnePosition
         2: .line 222
            sipush 16383
            iload 3 /* leadingOnePosition */
            iconst_1
            isub
            iadd
            istore 4 /* exponent */
        start local 4 // int exponent
         3: .line 223
            lconst_1
            iload 3 /* leadingOnePosition */
            iconst_1
            iadd
            lshl
            lconst_1
            lsub
            lstore 5 /* fractionMask */
        start local 5 // long fractionMask
         4: .line 224
            iload 2 /* posVal */
            i2l
            lload 5 /* fractionMask */
            land
            lstore 7 /* maskedFractionValue */
        start local 7 // long maskedFractionValue
         5: .line 225
            lload 7 /* maskedFractionValue */
            bipush 64
            iload 3 /* leadingOnePosition */
            isub
            lshl
            lstore 9 /* fraction */
        start local 9 // long fraction
         6: .line 226
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iload 1 /* sign */
            iload 4 /* exponent */
            lload 9 /* fraction */
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            areturn
        end local 9 // long fraction
        end local 7 // long maskedFractionValue
        end local 5 // long fractionMask
        end local 4 // int exponent
        end local 3 // int leadingOnePosition
        end local 2 // int posVal
        end local 1 // boolean sign
        end local 0 // int val
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                  val  I
            0    7     1                 sign  Z
            1    7     2               posVal  I
            2    7     3   leadingOnePosition  I
            3    7     4             exponent  I
            4    7     5         fractionMask  J
            5    7     7  maskedFractionValue  J
            6    7     9             fraction  J
    MethodParameters:
      Name  Flags
      val   
      sign  

  private static boolean getBit(int, long);
    descriptor: (IJ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // int position
        start local 1 // long posVal
         0: .line 230
            lload 1 /* posVal */
            iload 0 /* position */
            lushr
            lstore 3 /* l */
        start local 3 // long l
         1: .line 231
            lload 3 /* l */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         2: iconst_0
            ireturn
        end local 3 // long l
        end local 1 // long posVal
        end local 0 // int position
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  position  I
            0    3     1    posVal  J
            1    3     3         l  J
    MethodParameters:
          Name  Flags
      position  
      posVal    

  public boolean isZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 235
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  private boolean isPositiveZero();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 239
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  private boolean isNegativeZero();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 243
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromFloat(float);
    descriptor: (F)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // float val
         0: .line 247
            fload 0 /* val */
            fconst_0
            fcmpg
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* sign */
        start local 1 // boolean sign
         3: .line 248
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isPositiveZero:(F)Z
            ifeq 5
         4: .line 249
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         5: .line 250
      StackMap locals: int
      StackMap stack:
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNegativeZero:(F)Z
            ifeq 7
         6: .line 251
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         7: .line 252
      StackMap locals:
      StackMap stack:
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isPositiveInfinty:(F)Z
            ifeq 9
         8: .line 253
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         9: .line 254
      StackMap locals:
      StackMap stack:
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNegativeInfinity:(F)Z
            ifeq 11
        10: .line 255
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
        11: .line 256
      StackMap locals:
      StackMap stack:
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.isNaN:(F)Z
            ifeq 13
        12: .line 257
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
        13: .line 259
      StackMap locals:
      StackMap stack:
            fload 0 /* val */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 2 /* rawValue */
        start local 2 // int rawValue
        14: .line 260
            fload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.getUnbiasedExponent:(F)I
            istore 3 /* floatExponent */
        start local 3 // int floatExponent
        15: .line 261
            iload 3 /* floatExponent */
            sipush 16383
            iadd
            istore 4 /* biasedExponent */
        start local 4 // int biasedExponent
        16: .line 262
            ldc -9223372036854775808
            lstore 5 /* leadingOne */
        start local 5 // long leadingOne
        17: .line 263
            iload 2 /* rawValue */
            getstatic com.oracle.truffle.llvm.runtime.floating.FloatHelper.FRACTION_MASK:I
            iand
            i2l
            lstore 7 /* floatFraction */
        start local 7 // long floatFraction
        18: .line 264
            lload 7 /* floatFraction */
            bipush 40
            lshl
            lstore 9 /* shiftedFloatFraction */
        start local 9 // long shiftedFloatFraction
        19: .line 265
            lload 9 /* shiftedFloatFraction */
            lload 5 /* leadingOne */
            lor
            lstore 11 /* fraction */
        start local 11 // long fraction
        20: .line 266
            iload 1 /* sign */
            iload 4 /* biasedExponent */
            lload 11 /* fraction */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 11 // long fraction
        end local 9 // long shiftedFloatFraction
        end local 7 // long floatFraction
        end local 5 // long leadingOne
        end local 4 // int biasedExponent
        end local 3 // int floatExponent
        end local 2 // int rawValue
        end local 1 // boolean sign
        end local 0 // float val
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                   val  F
            3   21     1                  sign  Z
           14   21     2              rawValue  I
           15   21     3         floatExponent  I
           16   21     4        biasedExponent  I
           17   21     5            leadingOne  J
           18   21     7         floatFraction  J
           19   21     9  shiftedFloatFraction  J
           20   21    11              fraction  J
    MethodParameters:
      Name  Flags
      val   

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromDouble(double);
    descriptor: (D)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // double val
         0: .line 271
            dload 0 /* val */
            dconst_0
            dcmpg
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* sign */
        start local 2 // boolean sign
         3: .line 272
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isPositiveZero:(D)Z
            ifeq 5
         4: .line 273
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         5: .line 274
      StackMap locals: int
      StackMap stack:
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNegativeZero:(D)Z
            ifeq 7
         6: .line 275
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_ZERO:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         7: .line 276
      StackMap locals:
      StackMap stack:
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isPositiveInfinty:(D)Z
            ifeq 9
         8: .line 277
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
         9: .line 278
      StackMap locals:
      StackMap stack:
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNegativeInfinity:(D)Z
            ifeq 11
        10: .line 279
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_MINUS_INFINITY_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
        11: .line 280
      StackMap locals:
      StackMap stack:
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.isNaN:(D)Z
            ifeq 13
        12: .line 281
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.DOUBLE_NAN_CONVERSION_NUMBER:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
        13: .line 283
      StackMap locals:
      StackMap stack:
            dload 0 /* val */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 3 /* rawValue */
        start local 3 // long rawValue
        14: .line 284
            dload 0 /* val */
            invokestatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.getUnbiasedExponent:(D)I
            istore 5 /* doubleExponent */
        start local 5 // int doubleExponent
        15: .line 285
            iload 5 /* doubleExponent */
            sipush 16383
            iadd
            istore 6 /* biasedExponent */
        start local 6 // int biasedExponent
        16: .line 286
            ldc -9223372036854775808
            lstore 7 /* leadingOne */
        start local 7 // long leadingOne
        17: .line 287
            lload 3 /* rawValue */
            getstatic com.oracle.truffle.llvm.runtime.floating.DoubleHelper.FRACTION_MASK:J
            land
            lstore 9 /* doubleFraction */
        start local 9 // long doubleFraction
        18: .line 288
            lload 9 /* doubleFraction */
            bipush 11
            lshl
            lstore 11 /* shiftedDoubleFraction */
        start local 11 // long shiftedDoubleFraction
        19: .line 289
            lload 11 /* shiftedDoubleFraction */
            lload 7 /* leadingOne */
            lor
            lstore 13 /* fraction */
        start local 13 // long fraction
        20: .line 290
            iload 2 /* sign */
            iload 6 /* biasedExponent */
            lload 13 /* fraction */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 13 // long fraction
        end local 11 // long shiftedDoubleFraction
        end local 9 // long doubleFraction
        end local 7 // long leadingOne
        end local 6 // int biasedExponent
        end local 5 // int doubleExponent
        end local 3 // long rawValue
        end local 2 // boolean sign
        end local 0 // double val
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   21     0                    val  D
            3   21     2                   sign  Z
           14   21     3               rawValue  J
           15   21     5         doubleExponent  I
           16   21     6         biasedExponent  I
           17   21     7             leadingOne  J
           18   21     9         doubleFraction  J
           19   21    11  shiftedDoubleFraction  J
           20   21    13               fraction  J
    MethodParameters:
      Name  Flags
      val   

  private long getFractionAsLong();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 295
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
            bipush 64
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
            isub
            iconst_1
            isub
            lushr
            lreturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat abs();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 299
            iconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isPositiveInfinity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 303
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.POSITIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isNegativeInfinity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 307
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.NEGATIVE_INFINITY:Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isInfinity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 311
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isSNaN();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 316
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            sipush 32767
            if_icmpne 5
         1: .line 317
            bipush 63
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            ifeq 5
         2: .line 318
            bipush 62
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            ifne 5
         3: .line 319
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            ldc 4611686018427387903
            land
            lconst_0
            lcmp
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 324
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isQNaN();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 329
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            sipush 32767
            if_icmpne 5
         1: .line 330
            bipush 63
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            ifeq 4
         2: .line 331
            bipush 62
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            ifeq 5
         3: .line 332
            iconst_1
            ireturn
         4: .line 335
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 339
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isNaN();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 343
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isSNaN:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isQNaN:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean isOrdered();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 347
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  int compareOrdered(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
        start local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val
         0: .line 351
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 4
         1: .line 352
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 3
         2: .line 353
            iconst_0
            ireturn
         3: .line 355
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         4: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 8
         5: .line 359
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 7
         6: .line 360
            iconst_0
            ireturn
         7: .line 362
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            if_icmpne 18
         9: .line 366
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            isub
            istore 2 /* expDifference */
        start local 2 // int expDifference
        10: .line 367
            iload 2 /* expDifference */
            ifne 17
        11: .line 368
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            lsub
            lstore 3 /* fractionDifference */
        start local 3 // long fractionDifference
        12: .line 369
            lload 3 /* fractionDifference */
            lconst_0
            lcmp
            ifne 14
        13: .line 370
            iconst_0
            ireturn
        14: .line 371
      StackMap locals: int long
      StackMap stack:
            lload 3 /* fractionDifference */
            lconst_0
            lcmp
            ifge 16
        15: .line 372
            iconst_m1
            ireturn
        16: .line 374
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // long fractionDifference
        17: .line 377
      StackMap locals:
      StackMap stack:
            iload 2 /* expDifference */
            ireturn
        end local 2 // int expDifference
        18: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isZero:()Z
            ifeq 20
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isZero:()Z
            ifeq 20
        19: .line 381
            iconst_0
            ireturn
        20: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            ifeq 22
        21: .line 383
            iconst_m1
            ireturn
        22: .line 385
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            0   23     1                 val  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
           10   18     2       expDifference  I
           12   17     3  fractionDifference  J
    MethodParameters:
      Name  Flags
      val   

  public short getExponent();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 391
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.biasedExponent:I
            i2s
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public long getFraction();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 395
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
            lreturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public long getFractionWithoutImplicitZero();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 399
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fraction:J
            iconst_1
            lshl
            lreturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean getSign();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 403
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
        start local 1 // java.lang.Object obj
         0: .line 408
            aload 1 /* obj */
            instanceof com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            ifne 2
         1: .line 409
            iconst_0
            ireturn
         2: .line 411
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            astore 2 /* other */
        start local 2 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat other
         3: .line 412
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            aload 2 /* other */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            if_icmpne 4
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            aload 2 /* other */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            if_icmpne 4
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            aload 2 /* other */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            lcmp
            ifne 4
            iconst_1
            ireturn
      StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat other
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            0    5     1    obj  Ljava/lang/Object;
            3    5     2  other  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 417
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBytes:()[B
            invokestatic java.util.Arrays.hashCode:([B)I
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public byte[] getBytesBigEndian();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 421
            bipush 10
            newarray 8
            astore 1 /* array */
        start local 1 // byte[] array
         1: .line 422
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            istore 2 /* signWithExponent */
        start local 2 // short signWithExponent
         2: .line 423
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 3
            bipush 15
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(I)J
            l2i
            i2s
            goto 4
      StackMap locals: byte[] int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* signBit */
        start local 3 // short signBit
         5: .line 424
            iload 2 /* signWithExponent */
            iload 3 /* signBit */
            ior
            i2s
            istore 2 /* signWithExponent */
         6: .line 425
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 1 /* array */
            iconst_0
            iload 2 /* signWithExponent */
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putShort:([BIS)V
         7: .line 426
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 1 /* array */
            iconst_2
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putLong:([BIJ)V
         8: .line 427
            aload 1 /* array */
            areturn
        end local 3 // short signBit
        end local 2 // short signWithExponent
        end local 1 // byte[] array
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            1    9     1             array  [B
            2    9     2  signWithExponent  S
            5    9     3           signBit  S

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 431
            bipush 10
            newarray 8
            astore 1 /* array */
        start local 1 // byte[] array
         1: .line 432
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            istore 2 /* signWithExponent */
        start local 2 // short signWithExponent
         2: .line 433
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 3
            bipush 15
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.bit:(I)J
            l2i
            i2s
            goto 4
      StackMap locals: byte[] int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* signBit */
        start local 3 // short signBit
         5: .line 434
            iload 2 /* signWithExponent */
            iload 3 /* signBit */
            ior
            i2s
            istore 2 /* signWithExponent */
         6: .line 435
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 1 /* array */
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putLong:([BIJ)V
         7: .line 436
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 1 /* array */
            bipush 8
            iload 2 /* signWithExponent */
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putShort:([BIS)V
         8: .line 437
            aload 1 /* array */
            areturn
        end local 3 // short signBit
        end local 2 // short signWithExponent
        end local 1 // byte[] array
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            1    9     1             array  [B
            2    9     2  signWithExponent  S
            5    9     3           signBit  S

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromBytesBigEndian(byte[]);
    descriptor: ([B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // byte[] bytes
         0: .line 441
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
            ifne 1
            aload 0 /* bytes */
            arraylength
            bipush 10
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 442
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* bytes */
            iconst_0
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getShort:([BI)S
            istore 1 /* readShort */
        start local 1 // short readShort
         2: .line 443
            iload 1 /* readShort */
            bipush 15
            invokestatic com.oracle.truffle.llvm.runtime.floating.BinaryHelper.getBitMask:(I)I
            iand
            istore 2 /* exponent */
        start local 2 // int exponent
         3: .line 444
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* bytes */
            iconst_2
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getLong:([BI)J
            lstore 3 /* fraction */
        start local 3 // long fraction
         4: .line 445
            bipush 16
            iload 1 /* readShort */
            i2l
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            istore 5 /* signSet */
        start local 5 // boolean signSet
         5: .line 446
            iload 5 /* signSet */
            iload 2 /* exponent */
            lload 3 /* fraction */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 5 // boolean signSet
        end local 3 // long fraction
        end local 2 // int exponent
        end local 1 // short readShort
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0      bytes  [B
            2    6     1  readShort  S
            3    6     2   exponent  I
            4    6     3   fraction  J
            5    6     5    signSet  Z
    MethodParameters:
       Name  Flags
      bytes  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromBytes(byte[]);
    descriptor: ([B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // byte[] bytes
         0: .line 450
            getstatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.$assertionsDisabled:Z
            ifne 1
            aload 0 /* bytes */
            arraylength
            bipush 10
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 451
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* bytes */
            iconst_0
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getLong:([BI)J
            lstore 1 /* fraction */
        start local 1 // long fraction
         2: .line 452
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.littleEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* bytes */
            bipush 8
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getShort:([BI)S
            istore 3 /* readShort */
        start local 3 // short readShort
         3: .line 453
            iload 3 /* readShort */
            bipush 15
            invokestatic com.oracle.truffle.llvm.runtime.floating.BinaryHelper.getBitMask:(I)I
            iand
            istore 4 /* exponent */
        start local 4 // int exponent
         4: .line 454
            bipush 16
            iload 3 /* readShort */
            i2l
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getBit:(IJ)Z
            istore 5 /* signSet */
        start local 5 // boolean signSet
         5: .line 455
            iload 5 /* signSet */
            iload 4 /* exponent */
            lload 1 /* fraction */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromRawValues:(ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 5 // boolean signSet
        end local 4 // int exponent
        end local 3 // short readShort
        end local 1 // long fraction
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0      bytes  [B
            2    6     1   fraction  J
            3    6     3  readShort  S
            4    6     4   exponent  I
            5    6     5    signSet  Z
    MethodParameters:
       Name  Flags
      bytes  

  public byte getByteValue();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 461
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
            ifeq 2
         1: .line 462
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
            lstore 1 /* value */
        start local 1 // long value
         3: .line 465
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 4
            lload 1 /* value */
            lneg
            goto 5
      StackMap locals: long
      StackMap stack:
         4: lload 1 /* value */
      StackMap locals:
      StackMap stack: long
         5: l2i
            i2b
            ireturn
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            3    6     1  value  J

  public short getShortValue();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 470
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
            ifeq 2
         1: .line 471
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
            lstore 1 /* value */
        start local 1 // long value
         3: .line 474
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 4
            lload 1 /* value */
            lneg
            goto 5
      StackMap locals: long
      StackMap stack:
         4: lload 1 /* value */
      StackMap locals:
      StackMap stack: long
         5: l2i
            i2s
            ireturn
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            3    6     1  value  J

  public int getIntValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 479
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
            ifeq 2
         1: .line 480
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            ireturn
         2: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
            l2i
            istore 1 /* value */
        start local 1 // int value
         3: .line 483
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 4
            iload 1 /* value */
            ineg
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iload 1 /* value */
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 1 // int value
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            3    6     1  value  I

  public long getLongValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 487
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isInfinity:()Z
            ifeq 2
         1: .line 488
      StackMap locals:
      StackMap stack:
            ldc -9223372036854775808
            lreturn
         2: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionAsLong:()J
            lstore 1 /* value */
        start local 1 // long value
         3: .line 491
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.sign:Z
            ifeq 4
            lload 1 /* value */
            lneg
            goto 5
      StackMap locals: long
      StackMap stack:
         4: lload 1 /* value */
      StackMap locals:
      StackMap stack: long
         5: lreturn
        end local 1 // long value
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            3    6     1  value  J

  public float getFloatValue();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 496
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
            ifeq 2
         1: .line 497
            fconst_0
            freturn
         2: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()Z
            ifeq 4
         3: .line 499
            ldc -0.0
            freturn
         4: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
            ifeq 6
         5: .line 501
            ldc Infinity
            freturn
         6: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 8
         7: .line 503
            ldc -Infinity
            freturn
         8: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifeq 10
         9: .line 505
            ldc NaN
            freturn
        10: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
            bipush 127
            iadd
            istore 1 /* floatExponent */
        start local 1 // int floatExponent
        11: .line 508
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionWithoutImplicitZero:()J
            bipush 41
            lushr
            lstore 2 /* longFraction */
        start local 2 // long longFraction
        12: .line 509
            lload 2 /* longFraction */
            l2i
            istore 4 /* floatFraction */
        start local 4 // int floatFraction
        13: .line 510
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            ifeq 14
            iconst_1
            goto 15
      StackMap locals: int long int
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: bipush 31
            ishl
            istore 5 /* shiftedSignBit */
        start local 5 // int shiftedSignBit
        16: .line 511
            iload 1 /* floatExponent */
            bipush 23
            ishl
            istore 6 /* shiftedExponent */
        start local 6 // int shiftedExponent
        17: .line 512
            iload 4 /* floatFraction */
            iload 6 /* shiftedExponent */
            ior
            iload 5 /* shiftedSignBit */
            ior
            istore 7 /* rawVal */
        start local 7 // int rawVal
        18: .line 513
            iload 7 /* rawVal */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 7 // int rawVal
        end local 6 // int shiftedExponent
        end local 5 // int shiftedSignBit
        end local 4 // int floatFraction
        end local 2 // long longFraction
        end local 1 // int floatExponent
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
           11   19     1    floatExponent  I
           12   19     2     longFraction  J
           13   19     4    floatFraction  I
           16   19     5   shiftedSignBit  I
           17   19     6  shiftedExponent  I
           18   19     7           rawVal  I

  public double getDoubleValue();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 518
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveZero:()Z
            ifeq 2
         1: .line 519
            dconst_0
            dreturn
         2: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeZero:()Z
            ifeq 4
         3: .line 521
            ldc -0.0
            dreturn
         4: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isPositiveInfinity:()Z
            ifeq 6
         5: .line 523
            ldc Infinity
            dreturn
         6: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNegativeInfinity:()Z
            ifeq 8
         7: .line 525
            ldc -Infinity
            dreturn
         8: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isNaN:()Z
            ifeq 10
         9: .line 527
            ldc NaN
            dreturn
        10: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getUnbiasedExponent:()I
            sipush 1023
            iadd
            istore 1 /* doubleExponent */
        start local 1 // int doubleExponent
        11: .line 530
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFractionWithoutImplicitZero:()J
            bipush 12
            lushr
            lstore 2 /* doubleFraction */
        start local 2 // long doubleFraction
        12: .line 531
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            ifeq 13
            lconst_1
            goto 14
      StackMap locals: int long
      StackMap stack:
        13: lconst_0
      StackMap locals:
      StackMap stack: long
        14: bipush 63
            lshl
            lstore 4 /* shiftedSignBit */
        start local 4 // long shiftedSignBit
        15: .line 532
            iload 1 /* doubleExponent */
            i2l
            bipush 52
            lshl
            lstore 6 /* shiftedExponent */
        start local 6 // long shiftedExponent
        16: .line 533
            lload 2 /* doubleFraction */
            lload 6 /* shiftedExponent */
            lor
            lload 4 /* shiftedSignBit */
            lor
            lstore 8 /* rawVal */
        start local 8 // long rawVal
        17: .line 534
            lload 8 /* rawVal */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 8 // long rawVal
        end local 6 // long shiftedExponent
        end local 4 // long shiftedSignBit
        end local 2 // long doubleFraction
        end local 1 // int doubleExponent
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
           11   18     1   doubleExponent  I
           12   18     2   doubleFraction  J
           15   18     4   shiftedSignBit  J
           16   18     6  shiftedExponent  J
           17   18     8           rawVal  J

  public com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat negate();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 539
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getSign:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
      StackMap stack: new 0 new 0
         1: iconst_1
      StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
      StackMap stack: new 0 new 0 int
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getExponent:()S
            aload 0 /* this */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.getFraction:()J
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromByte(byte);
    descriptor: (B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // byte from
         0: .line 543
            iload 0 /* from */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // byte from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  from  B
    MethodParameters:
      Name  Flags
      from  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedByte(byte);
    descriptor: (B)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte from
         0: .line 547
            iload 0 /* from */
            sipush 255
            iand
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // byte from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  from  B
    MethodParameters:
      Name  Flags
      from  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromUnsignedShort(short);
    descriptor: (S)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // short from
         0: .line 551
            iload 0 /* from */
            ldc 65535
            iand
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromUnsignedInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // short from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  from  S
    MethodParameters:
      Name  Flags
      from  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromShort(short);
    descriptor: (S)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short from
         0: .line 555
            iload 0 /* from */
            invokestatic com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.fromInt:(I)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            areturn
        end local 0 // short from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  from  S
    MethodParameters:
      Name  Flags
      from  

  public static com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat fromRawValues(boolean, int, long);
    descriptor: (ZIJ)Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // boolean sign
        start local 1 // int exp
        start local 2 // long fraction
         0: .line 559
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
            dup
            iload 0 /* sign */
            iload 1 /* exp */
            lload 2 /* fraction */
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.<init>:(ZIJ)V
            areturn
        end local 2 // long fraction
        end local 1 // int exp
        end local 0 // boolean sign
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      sign  Z
            0    1     1       exp  I
            0    1     2  fraction  J
    MethodParameters:
          Name  Flags
      sign      
      exp       
      fraction  

  public static boolean areOrdered(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)Z
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[] vals
         0: .line 564
            aload 0 /* vals */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.api.CompilerAsserts.compilationConstant:(Ljava/lang/Object;)V
         1: .line 565
            aload 0 /* vals */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 6
      StackMap locals: com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[] top int int com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* val */
        start local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val
         3: .line 566
            aload 1 /* val */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.isOrdered:()Z
            ifne 5
         4: .line 567
            iconst_0
            ireturn
        end local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val
         5: .line 565
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         6: iload 2
            iload 3
            if_icmplt 2
         7: .line 570
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat[] vals
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  vals  [Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            3    5     1   val  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
      Name  Flags
      vals  

  public static int compare(com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat, com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val1
        start local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val2
         0: .line 574
            aload 0 /* val1 */
            aload 1 /* val2 */
            invokevirtual com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat.compareOrdered:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)I
            ireturn
        end local 1 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val2
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat val1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  val1  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
            0    1     1  val2  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createAddNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 676
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
            dup
            ldc "add"
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createSubNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 681
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
            dup
            ldc "sub"
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createMulNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 686
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
            dup
            ldc "mul"
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createDivNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 691
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
            dup
            ldc "div"
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode createRemNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 696
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
            dup
            ldc "mod"
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticCompareNode createCmpNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMArithmetic$LLVMArithmeticCompareNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
         0: .line 701
            new com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1.<init>:(Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;)V
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/runtime/floating/LLVM80BitFloat;
}
SourceFile: "LLVM80BitFloat.java"
NestMembers:
  com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1  com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatNativeCallNode  com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract ValueType = com.oracle.truffle.api.CompilerDirectives$ValueType of com.oracle.truffle.api.CompilerDirectives
  com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$1
  protected abstract LLVM80BitFloatNativeCallNode = com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatNativeCallNode of com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
  private LLVM80BitFloatOpNode = com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat$LLVM80BitFloatOpNode of com.oracle.truffle.llvm.runtime.floating.LLVM80BitFloat
  public abstract LLVMArithmeticCompareNode = com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticCompareNode of com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
  public abstract LLVMArithmeticOpNode = com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic$LLVMArithmeticOpNode of com.oracle.truffle.llvm.runtime.nodes.api.LLVMArithmetic
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$ValueType()