public final class org.graalvm.compiler.nodes.calc.ReinterpretNode extends org.graalvm.compiler.nodes.calc.UnaryNode implements org.graalvm.compiler.nodes.spi.ArithmeticLIRLowerable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.calc.ReinterpretNode
  super_class: org.graalvm.compiler.nodes.calc.UnaryNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.calc.ReinterpretNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;>;

  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=1, locals=0, args_size=0
         0: .line 58
            ldc Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            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 org.graalvm.compiler.nodes.calc.ReinterpretNode.$assertionsDisabled:Z
         3: .line 60
            ldc Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
        start local 1 // jdk.vm.ci.meta.JavaKind to
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 63
            aload 0 /* this */
            aload 1 /* to */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.ReinterpretNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
         1: .line 64
            return
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind to
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0    2     1     to  Ljdk/vm/ci/meta/JavaKind;
            0    2     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      to     
      value  

  protected void <init>(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
        start local 1 // org.graalvm.compiler.core.common.type.Stamp to
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 67
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 1 /* to */
            aload 2 /* value */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.getReinterpretStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.UnaryNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
         1: .line 68
            getstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.$assertionsDisabled:Z
            ifne 2
            aload 1 /* to */
            instanceof org.graalvm.compiler.core.common.type.ArithmeticStamp
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 69
      StackMap locals: org.graalvm.compiler.nodes.calc.ReinterpretNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.core.common.type.Stamp to
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0    3     1     to  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    3     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      to     
      value  

  public static org.graalvm.compiler.nodes.ValueNode create(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.vm.ci.meta.JavaKind to
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.NodeView view
         0: .line 72
            aload 0 /* to */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 1 /* value */
            aload 2 /* view */
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.NodeView view
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // jdk.vm.ci.meta.JavaKind to
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     to  Ljdk/vm/ci/meta/JavaKind;
            0    1     1  value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2   view  Lorg/graalvm/compiler/nodes/NodeView;
    MethodParameters:
       Name  Flags
      to     
      value  
      view   

  public static org.graalvm.compiler.nodes.ValueNode create(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.common.type.Stamp to
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.NodeView view
         0: .line 76
            aconst_null
            aload 0 /* to */
            aload 1 /* value */
            aload 2 /* view */
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.canonical:(Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.NodeView view
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.core.common.type.Stamp to
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     to  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    1     1  value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2   view  Lorg/graalvm/compiler/nodes/NodeView;
    MethodParameters:
       Name  Flags
      to     
      value  
      view   

  private static jdk.vm.ci.meta.SerializableConstant evalConst(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.SerializableConstant);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/SerializableConstant;)Ljdk/vm/ci/meta/SerializableConstant;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 1 // jdk.vm.ci.meta.SerializableConstant c
         0: .line 83
            aload 1 /* c */
            invokeinterface jdk.vm.ci.meta.SerializableConstant.getSerializedSize:()I
            newarray 8
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         1: .line 84
            aload 1 /* c */
            aload 2 /* buffer */
            invokeinterface jdk.vm.ci.meta.SerializableConstant.serialize:(Ljava/nio/ByteBuffer;)V
         2: .line 86
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
            pop
         3: .line 87
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.ArithmeticStamp
            aload 2 /* buffer */
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticStamp.deserialize:(Ljava/nio/ByteBuffer;)Ljdk/vm/ci/meta/SerializableConstant;
            astore 3 /* ret */
        start local 3 // jdk.vm.ci.meta.SerializableConstant ret
         4: .line 89
            getstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.$assertionsDisabled:Z
            ifne 5
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 90
      StackMap locals: java.nio.ByteBuffer jdk.vm.ci.meta.SerializableConstant
      StackMap stack:
            aload 3 /* ret */
            areturn
        end local 3 // jdk.vm.ci.meta.SerializableConstant ret
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // jdk.vm.ci.meta.SerializableConstant c
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0   stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    6     1       c  Ljdk/vm/ci/meta/SerializableConstant;
            1    6     2  buffer  Ljava/nio/ByteBuffer;
            4    6     3     ret  Ljdk/vm/ci/meta/SerializableConstant;
    MethodParameters:
       Name  Flags
      stamp  
      c      

  public org.graalvm.compiler.nodes.ValueNode canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
        start local 1 // org.graalvm.compiler.graph.spi.CanonicalizerTool tool
        start local 2 // org.graalvm.compiler.nodes.ValueNode forValue
         0: .line 95
            aload 1 /* tool */
            invokestatic org.graalvm.compiler.nodes.NodeView.from:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/nodes/NodeView;
            astore 3 /* view */
        start local 3 // org.graalvm.compiler.nodes.NodeView view
         1: .line 96
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* view */
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* forValue */
            aload 3 /* view */
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.canonical:(Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.NodeView view
        end local 2 // org.graalvm.compiler.nodes.ValueNode forValue
        end local 1 // org.graalvm.compiler.graph.spi.CanonicalizerTool tool
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0    2     1      tool  Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
            0    2     2  forValue  Lorg/graalvm/compiler/nodes/ValueNode;
            1    2     3      view  Lorg/graalvm/compiler/nodes/NodeView;
    MethodParameters:
          Name  Flags
      tool      
      forValue  

  public static org.graalvm.compiler.nodes.ValueNode canonical(org.graalvm.compiler.nodes.calc.ReinterpretNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
    descriptor: (Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode node
        start local 1 // org.graalvm.compiler.core.common.type.Stamp forStamp
        start local 2 // org.graalvm.compiler.nodes.ValueNode forValue
        start local 3 // org.graalvm.compiler.nodes.NodeView view
         0: .line 100
            aload 2 /* forValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 2
         1: .line 101
            aload 1 /* forStamp */
            aload 1 /* forStamp */
            aload 2 /* forValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.SerializableConstant
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.evalConst:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/SerializableConstant;)Ljdk/vm/ci/meta/SerializableConstant;
            aconst_null
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
            areturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* forStamp */
            aload 2 /* forValue */
            aload 3 /* view */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifeq 4
         3: .line 104
            aload 2 /* forValue */
            areturn
         4: .line 106
      StackMap locals:
      StackMap stack:
            aload 2 /* forValue */
            instanceof org.graalvm.compiler.nodes.calc.ReinterpretNode
            ifeq 7
         5: .line 107
            aload 2 /* forValue */
            checkcast org.graalvm.compiler.nodes.calc.ReinterpretNode
            astore 4 /* reinterpret */
        start local 4 // org.graalvm.compiler.nodes.calc.ReinterpretNode reinterpret
         6: .line 108
            new org.graalvm.compiler.nodes.calc.ReinterpretNode
            dup
            aload 1 /* forStamp */
            aload 4 /* reinterpret */
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.calc.ReinterpretNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
            areturn
        end local 4 // org.graalvm.compiler.nodes.calc.ReinterpretNode reinterpret
         7: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            ifnull 8
            aload 0 /* node */
            goto 9
      StackMap locals:
      StackMap stack:
         8: new org.graalvm.compiler.nodes.calc.ReinterpretNode
            dup
            aload 1 /* forStamp */
            aload 2 /* forValue */
            invokespecial org.graalvm.compiler.nodes.calc.ReinterpretNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.calc.ReinterpretNode
         9: areturn
        end local 3 // org.graalvm.compiler.nodes.NodeView view
        end local 2 // org.graalvm.compiler.nodes.ValueNode forValue
        end local 1 // org.graalvm.compiler.core.common.type.Stamp forStamp
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode node
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         node  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0   10     1     forStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   10     2     forValue  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3         view  Lorg/graalvm/compiler/nodes/NodeView;
            6    7     4  reinterpret  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
    MethodParameters:
          Name  Flags
      node      
      forStamp  
      forValue  
      view      

  private static org.graalvm.compiler.core.common.type.IntegerStamp floatToInt(org.graalvm.compiler.core.common.type.FloatStamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/FloatStamp;)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=16, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.FloatStamp stamp
         0: .line 126
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.getBits:()I
            istore 1 /* bits */
        start local 1 // int bits
         1: .line 128
            lconst_1
            iload 1 /* bits */
            iconst_1
            isub
            lshl
            lstore 2 /* signBit */
        start local 2 // long signBit
         2: .line 130
            iload 1 /* bits */
            bipush 64
            if_icmpne 5
         3: .line 131
            ldc Infinity
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 4 /* exponentMask */
        start local 4 // long exponentMask
         4: .line 132
            goto 7
        end local 4 // long exponentMask
         5: .line 133
      StackMap locals: int long
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.$assertionsDisabled:Z
            ifne 6
            iload 1 /* bits */
            bipush 32
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 134
      StackMap locals:
      StackMap stack:
            ldc Infinity
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lstore 4 /* exponentMask */
        start local 4 // long exponentMask
         7: .line 137
      StackMap locals: long
      StackMap stack:
            lload 4 /* exponentMask */
            lstore 6 /* positiveInfinity */
        start local 6 // long positiveInfinity
         8: .line 138
            lload 2 /* signBit */
            lload 6 /* positiveInfinity */
            lor
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
            lstore 8 /* negativeInfinity */
        start local 8 // long negativeInfinity
         9: .line 139
            lload 2 /* signBit */
            lconst_0
            lor
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
            lstore 10 /* negativeZero */
        start local 10 // long negativeZero
        10: .line 141
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNaN:()Z
            ifeq 12
        11: .line 143
            iload 1 /* bits */
            lload 8 /* negativeInfinity */
            lconst_1
            ladd
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.maxValue:(I)J
            lload 4 /* exponentMask */
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            invokestatic org.graalvm.compiler.core.common.type.IntegerStamp.create:(IJJJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        12: .line 147
      StackMap locals: long long long
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
            ifeq 27
        13: .line 148
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
            dconst_0
            dcmpg
            ifge 19
        14: .line 149
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
            ldc -Infinity
            dcmpl
            ifle 17
        15: .line 150
            lload 8 /* negativeInfinity */
            lconst_1
            lsub
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        16: .line 151
            goto 28
        end local 12 // long upperBound
        17: .line 152
      StackMap locals:
      StackMap stack:
            lload 8 /* negativeInfinity */
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        18: .line 154
            goto 28
        end local 12 // long upperBound
      StackMap locals:
      StackMap stack:
        19: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
            dconst_0
            dcmpl
            ifne 22
        20: .line 155
            lconst_0
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        21: .line 156
            goto 28
        end local 12 // long upperBound
      StackMap locals:
      StackMap stack:
        22: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
            ldc Infinity
            dcmpg
            ifge 25
        23: .line 157
            lload 6 /* positiveInfinity */
            lconst_1
            lsub
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        24: .line 158
            goto 28
        end local 12 // long upperBound
        25: .line 159
      StackMap locals:
      StackMap stack:
            lload 6 /* positiveInfinity */
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        26: .line 161
            goto 28
        end local 12 // long upperBound
        27: .line 162
      StackMap locals:
      StackMap stack:
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.maxValue:(I)J
            lstore 12 /* upperBound */
        start local 12 // long upperBound
        28: .line 166
      StackMap locals: long
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.lowerBound:()D
            dconst_0
            dcmpl
            ifle 34
        29: .line 167
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.isNonNaN:()Z
            ifeq 32
        30: .line 168
            lconst_1
            lstore 14 /* lowerBound */
        start local 14 // long lowerBound
        31: .line 169
            goto 41
        end local 14 // long lowerBound
        32: .line 170
      StackMap locals:
      StackMap stack:
            lload 8 /* negativeInfinity */
            lconst_1
            ladd
            lstore 14 /* lowerBound */
        start local 14 // long lowerBound
        33: .line 172
            goto 41
        end local 14 // long lowerBound
      StackMap locals:
      StackMap stack:
        34: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
            ldc -Infinity
            dcmpl
            ifne 37
        35: .line 173
            lload 8 /* negativeInfinity */
            lstore 14 /* lowerBound */
        start local 14 // long lowerBound
        36: .line 174
            goto 41
        end local 14 // long lowerBound
      StackMap locals:
      StackMap stack:
        37: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.FloatStamp.upperBound:()D
            dconst_0
            dcmpg
            ifge 40
        38: .line 175
            lload 10 /* negativeZero */
            lconst_1
            ladd
            lstore 14 /* lowerBound */
        start local 14 // long lowerBound
        39: .line 176
            goto 41
        end local 14 // long lowerBound
        40: .line 177
      StackMap locals:
      StackMap stack:
            lload 10 /* negativeZero */
            lstore 14 /* lowerBound */
        start local 14 // long lowerBound
        41: .line 180
      StackMap locals: long
      StackMap stack:
            iload 1 /* bits */
            lload 14 /* lowerBound */
            lload 12 /* upperBound */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
        end local 14 // long lowerBound
        end local 12 // long upperBound
        end local 10 // long negativeZero
        end local 8 // long negativeInfinity
        end local 6 // long positiveInfinity
        end local 4 // long exponentMask
        end local 2 // long signBit
        end local 1 // int bits
        end local 0 // org.graalvm.compiler.core.common.type.FloatStamp stamp
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   42     0             stamp  Lorg/graalvm/compiler/core/common/type/FloatStamp;
            1   42     1              bits  I
            2   42     2           signBit  J
            4    5     4      exponentMask  J
            7   42     4      exponentMask  J
            8   42     6  positiveInfinity  J
            9   42     8  negativeInfinity  J
           10   42    10      negativeZero  J
           16   17    12        upperBound  J
           18   19    12        upperBound  J
           21   22    12        upperBound  J
           24   25    12        upperBound  J
           26   27    12        upperBound  J
           28   42    12        upperBound  J
           31   32    14        lowerBound  J
           33   34    14        lowerBound  J
           36   37    14        lowerBound  J
           39   40    14        lowerBound  J
           41   42    14        lowerBound  J
    MethodParameters:
       Name  Flags
      stamp  

  private static org.graalvm.compiler.core.common.type.FloatStamp intToFloat(org.graalvm.compiler.core.common.type.IntegerStamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/IntegerStamp;)Lorg/graalvm/compiler/core/common/type/FloatStamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=25, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.IntegerStamp stamp
         0: .line 196
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            istore 1 /* bits */
        start local 1 // int bits
         1: .line 201
            lconst_1
            iload 1 /* bits */
            iconst_1
            isub
            lshl
            lstore 6 /* signBit */
        start local 6 // long signBit
         2: .line 203
            iload 1 /* bits */
            bipush 64
            if_icmpne 7
         3: .line 204
            ldc Infinity
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 8 /* exponentMask */
        start local 8 // long exponentMask
         4: .line 205
            ldc 4.9E-324
            dstore 2 /* minPositive */
        start local 2 // double minPositive
         5: .line 206
            ldc 1.7976931348623157E308
            dstore 4 /* maxPositive */
        start local 4 // double maxPositive
         6: .line 207
            goto 11
        end local 8 // long exponentMask
        end local 4 // double maxPositive
        end local 2 // double minPositive
         7: .line 208
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp int top top top top long
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.calc.ReinterpretNode.$assertionsDisabled:Z
            ifne 8
            iload 1 /* bits */
            bipush 32
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 209
      StackMap locals:
      StackMap stack:
            ldc Infinity
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            i2l
            lstore 8 /* exponentMask */
        start local 8 // long exponentMask
         9: .line 210
            ldc 1.401298464324817E-45
            dstore 2 /* minPositive */
        start local 2 // double minPositive
        10: .line 211
            ldc 3.4028234663852886E38
            dstore 4 /* maxPositive */
        start local 4 // double maxPositive
        11: .line 214
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp int double double long long
      StackMap stack:
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.mask:(I)J
            lload 6 /* signBit */
            lload 8 /* exponentMask */
            lor
            ldc -1
            lxor
            land
            lstore 10 /* significandMask */
        start local 10 // long significandMask
        12: .line 216
            lload 8 /* exponentMask */
            lstore 12 /* positiveInfinity */
        start local 12 // long positiveInfinity
        13: .line 217
            lload 6 /* signBit */
            lload 12 /* positiveInfinity */
            lor
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
            lstore 14 /* negativeInfinity */
        start local 14 // long negativeInfinity
        14: .line 218
            lload 6 /* signBit */
            lconst_0
            lor
            iload 1 /* bits */
            invokestatic jdk.vm.ci.code.CodeUtil.signExtend:(JI)J
            lstore 16 /* negativeZero */
        start local 16 // long negativeZero
        15: .line 220
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.downMask:()J
            lload 8 /* exponentMask */
            land
            lload 8 /* exponentMask */
            lcmp
            ifne 17
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.downMask:()J
            lload 10 /* significandMask */
            land
            lconst_0
            lcmp
            ifeq 17
        16: .line 222
            new org.graalvm.compiler.core.common.type.FloatStamp
            dup
            iload 1 /* bits */
            ldc NaN
            ldc NaN
            iconst_0
            invokespecial org.graalvm.compiler.core.common.type.FloatStamp.<init>:(IDDZ)V
            areturn
        17: .line 226
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp int double double long long long long long long
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lload 14 /* negativeInfinity */
            lcmp
            ifge 23
        18: .line 227
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 16 /* negativeZero */
            lcmp
            ifle 21
        19: .line 228
            dload 2 /* minPositive */
            dneg
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        20: .line 229
            goto 41
        end local 18 // double upperBound
        21: .line 230
      StackMap locals:
      StackMap stack:
            ldc -0.0
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        22: .line 232
            goto 41
        end local 18 // double upperBound
      StackMap locals:
      StackMap stack:
        23: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lconst_0
            lcmp
            ifge 34
        24: .line 233
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 14 /* negativeInfinity */
            lcmp
            ifle 26
        25: .line 234
            new org.graalvm.compiler.core.common.type.FloatStamp
            dup
            iload 1 /* bits */
            ldc NaN
            ldc NaN
            iconst_0
            invokespecial org.graalvm.compiler.core.common.type.FloatStamp.<init>:(IDDZ)V
            areturn
        26: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 14 /* negativeInfinity */
            lcmp
            ifne 29
        27: .line 236
            ldc -Infinity
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        28: .line 237
            goto 41
        end local 18 // double upperBound
      StackMap locals:
      StackMap stack:
        29: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 16 /* negativeZero */
            lcmp
            ifle 32
        30: .line 238
            dload 2 /* minPositive */
            dneg
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        31: .line 239
            goto 41
        end local 18 // double upperBound
        32: .line 240
      StackMap locals:
      StackMap stack:
            ldc -0.0
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        33: .line 242
            goto 41
        end local 18 // double upperBound
      StackMap locals:
      StackMap stack:
        34: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lconst_0
            lcmp
            ifne 37
        35: .line 243
            dconst_0
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        36: .line 244
            goto 41
        end local 18 // double upperBound
      StackMap locals:
      StackMap stack:
        37: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lload 12 /* positiveInfinity */
            lcmp
            ifge 40
        38: .line 245
            dload 4 /* maxPositive */
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        39: .line 246
            goto 41
        end local 18 // double upperBound
        40: .line 247
      StackMap locals:
      StackMap stack:
            ldc Infinity
            dstore 18 /* upperBound */
        start local 18 // double upperBound
        41: .line 251
      StackMap locals: double
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 12 /* positiveInfinity */
            lcmp
            ifle 43
        42: .line 252
            new org.graalvm.compiler.core.common.type.FloatStamp
            dup
            iload 1 /* bits */
            ldc NaN
            ldc NaN
            iconst_0
            invokespecial org.graalvm.compiler.core.common.type.FloatStamp.<init>:(IDDZ)V
            areturn
        43: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 12 /* positiveInfinity */
            lcmp
            ifne 46
        44: .line 254
            ldc Infinity
            dstore 20 /* lowerBound */
        start local 20 // double lowerBound
        45: .line 255
            goto 53
        end local 20 // double lowerBound
      StackMap locals:
      StackMap stack:
        46: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lconst_0
            lcmp
            ifle 49
        47: .line 256
            dload 2 /* minPositive */
            dstore 20 /* lowerBound */
        start local 20 // double lowerBound
        48: .line 257
            goto 53
        end local 20 // double lowerBound
      StackMap locals:
      StackMap stack:
        49: aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lload 14 /* negativeInfinity */
            lcmp
            ifle 52
        50: .line 258
            dconst_0
            dstore 20 /* lowerBound */
        start local 20 // double lowerBound
        51: .line 259
            goto 53
        end local 20 // double lowerBound
        52: .line 260
      StackMap locals:
      StackMap stack:
            ldc -Infinity
            dstore 20 /* lowerBound */
        start local 20 // double lowerBound
        53: .line 264
      StackMap locals: double
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upMask:()J
            lload 8 /* exponentMask */
            land
            lload 8 /* exponentMask */
            lcmp
            ifeq 56
        54: .line 266
            iconst_1
            istore 22 /* nonNaN */
        start local 22 // boolean nonNaN
        55: .line 267
            goto 65
        end local 22 // boolean nonNaN
        56: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lconst_0
            lcmp
            ifge 57
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lload 14 /* negativeInfinity */
            lcmp
            ifle 57
            iconst_1
            goto 58
      StackMap locals:
      StackMap stack:
        57: iconst_0
      StackMap locals:
      StackMap stack: int
        58: istore 23 /* negativeNaNBlock */
        start local 23 // boolean negativeNaNBlock
        59: .line 269
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lload 12 /* positiveInfinity */
            lcmp
            ifle 60
            iconst_1
            goto 61
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp int double double long long long long long long double double top int
      StackMap stack:
        60: iconst_0
      StackMap locals:
      StackMap stack: int
        61: istore 24 /* positiveNaNBlock */
        start local 24 // boolean positiveNaNBlock
        62: .line 270
            iload 23 /* negativeNaNBlock */
            ifne 63
            iload 24 /* positiveNaNBlock */
            ifne 63
            iconst_1
            goto 64
      StackMap locals: int
      StackMap stack:
        63: iconst_0
      StackMap locals:
      StackMap stack: int
        64: istore 22 /* nonNaN */
        end local 24 // boolean positiveNaNBlock
        end local 23 // boolean negativeNaNBlock
        start local 22 // boolean nonNaN
        65: .line 273
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp int double double long long long long long long double double int
      StackMap stack:
            new org.graalvm.compiler.core.common.type.FloatStamp
            dup
            iload 1 /* bits */
            dload 20 /* lowerBound */
            dload 18 /* upperBound */
            iload 22 /* nonNaN */
            invokespecial org.graalvm.compiler.core.common.type.FloatStamp.<init>:(IDDZ)V
            areturn
        end local 22 // boolean nonNaN
        end local 20 // double lowerBound
        end local 18 // double upperBound
        end local 16 // long negativeZero
        end local 14 // long negativeInfinity
        end local 12 // long positiveInfinity
        end local 10 // long significandMask
        end local 8 // long exponentMask
        end local 6 // long signBit
        end local 4 // double maxPositive
        end local 2 // double minPositive
        end local 1 // int bits
        end local 0 // org.graalvm.compiler.core.common.type.IntegerStamp stamp
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   66     0             stamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            1   66     1              bits  I
            5    7     2       minPositive  D
           10   66     2       minPositive  D
            6    7     4       maxPositive  D
           11   66     4       maxPositive  D
            2   66     6           signBit  J
            4    7     8      exponentMask  J
            9   66     8      exponentMask  J
           12   66    10   significandMask  J
           13   66    12  positiveInfinity  J
           14   66    14  negativeInfinity  J
           15   66    16      negativeZero  J
           20   21    18        upperBound  D
           22   23    18        upperBound  D
           28   29    18        upperBound  D
           31   32    18        upperBound  D
           33   34    18        upperBound  D
           36   37    18        upperBound  D
           39   40    18        upperBound  D
           41   66    18        upperBound  D
           45   46    20        lowerBound  D
           48   49    20        lowerBound  D
           51   52    20        lowerBound  D
           53   66    20        lowerBound  D
           55   56    22            nonNaN  Z
           65   66    22            nonNaN  Z
           59   65    23  negativeNaNBlock  Z
           62   65    24  positiveNaNBlock  Z
    MethodParameters:
       Name  Flags
      stamp  

  private static org.graalvm.compiler.core.common.type.Stamp getReinterpretStamp(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp toStamp
        start local 1 // org.graalvm.compiler.core.common.type.Stamp fromStamp
         0: .line 277
            aload 0 /* toStamp */
            instanceof org.graalvm.compiler.core.common.type.IntegerStamp
            ifeq 2
            aload 1 /* fromStamp */
            instanceof org.graalvm.compiler.core.common.type.FloatStamp
            ifeq 2
         1: .line 278
            aload 1 /* fromStamp */
            checkcast org.graalvm.compiler.core.common.type.FloatStamp
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.floatToInt:(Lorg/graalvm/compiler/core/common/type/FloatStamp;)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            areturn
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* toStamp */
            instanceof org.graalvm.compiler.core.common.type.FloatStamp
            ifeq 4
            aload 1 /* fromStamp */
            instanceof org.graalvm.compiler.core.common.type.IntegerStamp
            ifeq 4
         3: .line 280
            aload 1 /* fromStamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.intToFloat:(Lorg/graalvm/compiler/core/common/type/IntegerStamp;)Lorg/graalvm/compiler/core/common/type/FloatStamp;
            areturn
         4: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* toStamp */
            areturn
        end local 1 // org.graalvm.compiler.core.common.type.Stamp fromStamp
        end local 0 // org.graalvm.compiler.core.common.type.Stamp toStamp
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0    toStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    5     1  fromStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
           Name  Flags
      toStamp    
      fromStamp  

  public boolean inferStamp();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
         0: .line 288
            aload 0 /* this */
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.getReinterpretStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.updateStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;

  public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool, org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool builder
        start local 2 // org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool gen
         0: .line 293
            aload 1 /* builder */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 3 /* kind */
        start local 3 // org.graalvm.compiler.core.common.LIRKind kind
         1: .line 294
            aload 1 /* builder */
            aload 0 /* this */
            aload 2 /* gen */
            aload 3 /* kind */
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            pop
         2: .line 295
            return
        end local 3 // org.graalvm.compiler.core.common.LIRKind kind
        end local 2 // org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool gen
        end local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool builder
        end local 0 // org.graalvm.compiler.nodes.calc.ReinterpretNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/nodes/calc/ReinterpretNode;
            0    3     1  builder  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
            0    3     2      gen  Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
            1    3     3     kind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
         Name  Flags
      builder  
      gen      

  public static org.graalvm.compiler.nodes.ValueNode reinterpret(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaKind toKind
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 298
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.calc.ReinterpretNode
            dup
            aload 0 /* toKind */
            aload 1 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.ReinterpretNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // jdk.vm.ci.meta.JavaKind toKind
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  toKind  Ljdk/vm/ci/meta/JavaKind;
            0    1     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      toKind  
      value   

  public org.graalvm.compiler.graph.Node canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.nodes.calc.ReinterpretNode.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ReinterpretNode.java"
InnerClasses:
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_1:Lorg/graalvm/compiler/nodeinfo/NodeCycles;)