public class org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil;

  public static org.graalvm.compiler.core.common.type.Stamp getSafeStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode x
         0: .line 190
            aload 0 /* x */
            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;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      x     

  public static org.graalvm.compiler.core.common.type.Stamp getOtherSafeStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode x
         0: .line 202
            aload 0 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 1
            aload 0 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFixedReadPhase:()Z
            ifeq 2
         1: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            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;
            areturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            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;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      x     

  public static org.graalvm.collections.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStamp(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 228
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.calc.UnaryNode
            ifeq 11
         1: .line 229
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.calc.UnaryNode
            astore 2 /* unary */
        start local 2 // org.graalvm.compiler.nodes.calc.UnaryNode unary
         2: .line 230
            aload 2 /* unary */
            invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* value */
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         3: .line 231
            aload 0 /* infoElementProvider */
            aload 3 /* value */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 4 /* infoElement */
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
         4: .line 232
            goto 9
         5: .line 233
      StackMap locals: org.graalvm.compiler.nodes.calc.UnaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
      StackMap stack:
            aload 2 /* unary */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.core.common.type.Stamp result
         6: .line 234
            aload 5 /* result */
            ifnull 8
         7: .line 235
            aload 4 /* infoElement */
            aload 5 /* result */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            areturn
         8: .line 237
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 4 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 4 /* infoElement */
        end local 5 // org.graalvm.compiler.core.common.type.Stamp result
         9: .line 232
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 5
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.UnaryNode unary
        10: .line 239
            goto 23
      StackMap locals:
      StackMap stack:
        11: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.calc.BinaryNode
            ifeq 23
        12: .line 240
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.calc.BinaryNode
            astore 2 /* binary */
        start local 2 // org.graalvm.compiler.nodes.calc.BinaryNode binary
        13: .line 241
            aload 2 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* y */
        start local 3 // org.graalvm.compiler.nodes.ValueNode y
        14: .line 242
            aload 2 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* x */
        start local 4 // org.graalvm.compiler.nodes.ValueNode x
        15: .line 243
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 23
        16: .line 244
            aload 0 /* infoElementProvider */
            aload 4 /* x */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 5 /* infoElement */
        start local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
        17: .line 245
            goto 22
        18: .line 246
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
      StackMap stack:
            aload 2 /* binary */
            aload 5 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* y */
            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;
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp result
        19: .line 247
            aload 6 /* result */
            ifnull 21
        20: .line 248
            aload 5 /* infoElement */
            aload 6 /* result */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            areturn
        21: .line 250
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 5 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 5 /* infoElement */
        end local 6 // org.graalvm.compiler.core.common.type.Stamp result
        22: .line 245
      StackMap locals:
      StackMap stack:
            aload 5 /* infoElement */
            ifnonnull 18
        end local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
        end local 4 // org.graalvm.compiler.nodes.ValueNode x
        end local 3 // org.graalvm.compiler.nodes.ValueNode y
        end local 2 // org.graalvm.compiler.nodes.calc.BinaryNode binary
        23: .line 254
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider org.graalvm.compiler.graph.Node
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0  infoElementProvider  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
            0   24     1                 node  Lorg/graalvm/compiler/graph/Node;
            2   10     2                unary  Lorg/graalvm/compiler/nodes/calc/UnaryNode;
            3   10     3                value  Lorg/graalvm/compiler/nodes/ValueNode;
            4   10     4          infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            6    9     5               result  Lorg/graalvm/compiler/core/common/type/Stamp;
           13   23     2               binary  Lorg/graalvm/compiler/nodes/calc/BinaryNode;
           14   23     3                    y  Lorg/graalvm/compiler/nodes/ValueNode;
           15   23     4                    x  Lorg/graalvm/compiler/nodes/ValueNode;
           17   23     5          infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
           19   22     6               result  Lorg/graalvm/compiler/core/common/type/Stamp;
    Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
    MethodParameters:
                     Name  Flags
      infoElementProvider  
      node                 

  public static org.graalvm.collections.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStampFromInfo(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 267
            aload 0 /* infoElementProvider */
            aload 1 /* node */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStamp:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair;
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0  infoElementProvider  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
            0    1     1                 node  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
    MethodParameters:
                     Name  Flags
      infoElementProvider  
      node                 

  public static boolean rewireGuards(org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 1 // boolean result
        start local 2 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        start local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer rewireGuardFunction
         0: .line 271
            aload 4 /* rewireGuardFunction */
            aload 0 /* guard */
            iload 1 /* result */
            aload 3 /* guardedValueStamp */
            aload 2 /* proxifiedInput */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer rewireGuardFunction
        end local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 2 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        end local 1 // boolean result
        end local 0 // org.graalvm.compiler.nodes.extended.GuardingNode guard
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    1     1               result  Z
            0    1     2       proxifiedInput  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3    guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    1     4  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
    MethodParameters:
                     Name  Flags
      guard                
      result               
      proxifiedInput       
      guardedValueStamp    
      rewireGuardFunction  

  public static boolean tryProveGuardCondition(org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, java.util.ArrayDeque<org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition>, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=13, args_size=6
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
        start local 1 // java.util.ArrayDeque conditions
        start local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding guardFolding
        start local 3 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        start local 4 // org.graalvm.compiler.nodes.LogicNode node
        start local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer rewireGuardFunction
         0: .line 282
            aload 0 /* infoElementProvider */
            aload 4 /* node */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        start local 6 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
         1: .line 283
            goto 7
         2: .line 284
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
      StackMap stack:
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* stamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp stamp
         3: .line 285
            aload 7 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 8 /* constant */
        start local 8 // jdk.vm.ci.meta.JavaConstant constant
         4: .line 286
            aload 8 /* constant */
            ifnull 6
         5: .line 288
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 8 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asBoolean:()Z
            aconst_null
            aconst_null
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
         6: .line 290
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 6 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        end local 8 // jdk.vm.ci.meta.JavaConstant constant
        end local 7 // org.graalvm.compiler.core.common.type.Stamp stamp
         7: .line 283
      StackMap locals:
      StackMap stack:
            aload 6 /* infoElement */
            ifnonnull 2
         8: .line 293
            aload 1 /* conditions */
            invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition
            astore 7 /* guardedCondition */
        start local 7 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition guardedCondition
        10: .line 294
            aload 7 /* guardedCondition */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 7 /* guardedCondition */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.isNegated:()Z
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.implies:(ZLorg/graalvm/compiler/nodes/LogicNode;)Ljdk/vm/ci/meta/TriState;
            astore 9 /* result */
        start local 9 // jdk.vm.ci.meta.TriState result
        11: .line 295
            aload 9 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 13
        12: .line 296
            aload 7 /* guardedCondition */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 9 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aconst_null
            aconst_null
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        end local 9 // jdk.vm.ci.meta.TriState result
        end local 7 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition guardedCondition
        13: .line 293
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 300
            aload 4 /* node */
            instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
            ifeq 34
        15: .line 301
            aload 4 /* node */
            checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
            astore 7 /* unaryLogicNode */
        start local 7 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
        16: .line 302
            aload 7 /* unaryLogicNode */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* value */
        start local 8 // org.graalvm.compiler.nodes.ValueNode value
        17: .line 303
            aload 0 /* infoElementProvider */
            aload 8 /* value */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        18: .line 304
            goto 24
        19: .line 305
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement org.graalvm.compiler.nodes.UnaryOpLogicNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 9 /* stamp */
        start local 9 // org.graalvm.compiler.core.common.type.Stamp stamp
        20: .line 306
            aload 7 /* unaryLogicNode */
            aload 9 /* stamp */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 10 /* result */
        start local 10 // jdk.vm.ci.meta.TriState result
        21: .line 307
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 23
        22: .line 308
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        23: .line 310
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 6 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        end local 10 // jdk.vm.ci.meta.TriState result
        end local 9 // org.graalvm.compiler.core.common.type.Stamp stamp
        24: .line 304
      StackMap locals:
      StackMap stack:
            aload 6 /* infoElement */
            ifnonnull 19
        25: .line 312
            aload 0 /* infoElementProvider */
            aload 8 /* value */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair;
            astore 9 /* foldResult */
        start local 9 // org.graalvm.collections.Pair foldResult
        26: .line 313
            aload 9 /* foldResult */
            ifnull 30
        27: .line 314
            aload 7 /* unaryLogicNode */
            aload 9 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 10 /* result */
        start local 10 // jdk.vm.ci.meta.TriState result
        28: .line 315
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 30
        29: .line 316
            aload 9 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 9 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        end local 10 // jdk.vm.ci.meta.TriState result
        30: .line 319
      StackMap locals: org.graalvm.collections.Pair
      StackMap stack:
            aload 3 /* thisGuard */
            ifnull 89
            aload 2 /* guardFolding */
            ifnull 89
        31: .line 320
            aload 7 /* unaryLogicNode */
            aload 3 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 10 /* newStamp */
        start local 10 // org.graalvm.compiler.core.common.type.Stamp newStamp
        32: .line 321
            aload 10 /* newStamp */
            ifnull 89
            aload 2 /* guardFolding */
            aload 3 /* thisGuard */
            aload 8 /* value */
            aload 10 /* newStamp */
            aload 5 /* rewireGuardFunction */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ifeq 89
        33: .line 322
            iconst_1
            ireturn
        end local 10 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 9 // org.graalvm.collections.Pair foldResult
        end local 8 // org.graalvm.compiler.nodes.ValueNode value
        end local 7 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
        34: .line 326
      StackMap locals:
      StackMap stack:
            aload 4 /* node */
            instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
            ifeq 86
        35: .line 327
            aload 4 /* node */
            checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
            astore 7 /* binaryOpLogicNode */
        start local 7 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        36: .line 328
            aload 7 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* x */
        start local 8 // org.graalvm.compiler.nodes.ValueNode x
        37: .line 329
            aload 7 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* y */
        start local 9 // org.graalvm.compiler.nodes.ValueNode y
        38: .line 330
            aload 0 /* infoElementProvider */
            aload 8 /* x */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        39: .line 331
            goto 44
        40: .line 332
      StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* binaryOpLogicNode */
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* y */
            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;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 10 /* result */
        start local 10 // jdk.vm.ci.meta.TriState result
        41: .line 333
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 43
        42: .line 334
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        43: .line 336
      StackMap locals: jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 6 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        end local 10 // jdk.vm.ci.meta.TriState result
        44: .line 331
      StackMap locals:
      StackMap stack:
            aload 6 /* infoElement */
            ifnonnull 40
        45: .line 339
            aload 9 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 51
        46: .line 340
            aload 0 /* infoElementProvider */
            aload 8 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/collections/Pair;
            astore 10 /* foldResult */
        start local 10 // org.graalvm.collections.Pair foldResult
        47: .line 341
            aload 10 /* foldResult */
            ifnull 58
        48: .line 342
            aload 7 /* binaryOpLogicNode */
            aload 10 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 9 /* y */
            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;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 11 /* result */
        start local 11 // jdk.vm.ci.meta.TriState result
        49: .line 343
            aload 11 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 58
        50: .line 344
            aload 10 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 11 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 10 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 10 /* foldResult */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        end local 11 // jdk.vm.ci.meta.TriState result
        end local 10 // org.graalvm.collections.Pair foldResult
        51: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 9 /* y */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        52: .line 349
            goto 57
        53: .line 350
      StackMap locals:
      StackMap stack:
            aload 7 /* binaryOpLogicNode */
            aload 8 /* x */
            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;
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 10 /* result */
        start local 10 // jdk.vm.ci.meta.TriState result
        54: .line 351
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 56
        55: .line 352
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        56: .line 354
      StackMap locals: jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 6 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        end local 10 // jdk.vm.ci.meta.TriState result
        57: .line 349
      StackMap locals:
      StackMap stack:
            aload 6 /* infoElement */
            ifnonnull 53
        58: .line 365
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            instanceof org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            ifeq 69
            aload 9 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 69
        59: .line 366
            aload 8 /* x */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            astore 10 /* binary */
        start local 10 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        60: .line 367
            aload 10 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 69
        61: .line 368
            aload 0 /* infoElementProvider */
            aload 10 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.infoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        62: .line 369
            goto 68
        63: .line 370
      StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
      StackMap stack:
            aload 10 /* binary */
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 10 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()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;
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 11 /* newStampX */
        start local 11 // org.graalvm.compiler.core.common.type.Stamp newStampX
        64: .line 371
            aload 7 /* binaryOpLogicNode */
            aload 11 /* newStampX */
            aload 9 /* y */
            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;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 12 /* result */
        start local 12 // jdk.vm.ci.meta.TriState result
        65: .line 372
            aload 12 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 67
        66: .line 373
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 12 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 6 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 11 /* newStampX */
            aload 5 /* rewireGuardFunction */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        67: .line 375
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* infoElementProvider */
            aload 6 /* infoElement */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            astore 6 /* infoElement */
        end local 12 // jdk.vm.ci.meta.TriState result
        end local 11 // org.graalvm.compiler.core.common.type.Stamp newStampX
        68: .line 369
      StackMap locals:
      StackMap stack:
            aload 6 /* infoElement */
            ifnonnull 63
        end local 10 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        69: .line 380
      StackMap locals:
      StackMap stack:
            aload 3 /* thisGuard */
            ifnull 77
            aload 2 /* guardFolding */
            ifnull 77
            aload 7 /* binaryOpLogicNode */
            instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            ifeq 77
            aload 3 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            ifne 77
        70: .line 381
            aload 9 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 77
            aload 8 /* x */
            instanceof org.graalvm.compiler.nodes.calc.AndNode
            ifeq 77
        71: .line 382
            aload 8 /* x */
            checkcast org.graalvm.compiler.nodes.calc.AndNode
            astore 10 /* and */
        start local 10 // org.graalvm.compiler.nodes.calc.AndNode and
        72: .line 383
            aload 10 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* y */
            if_acmpne 77
        73: .line 389
            aload 8 /* x */
            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.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getOr:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
            astore 11 /* op */
        start local 11 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        74: .line 390
            aload 11 /* op */
            aload 10 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 12 /* newStampX */
        start local 12 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        75: .line 391
            aload 2 /* guardFolding */
            aload 3 /* thisGuard */
            aload 10 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 12 /* newStampX */
            aload 5 /* rewireGuardFunction */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ifeq 77
        76: .line 392
            iconst_1
            ireturn
        end local 12 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        end local 11 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        end local 10 // org.graalvm.compiler.nodes.calc.AndNode and
        77: .line 398
      StackMap locals:
      StackMap stack:
            aload 3 /* thisGuard */
            ifnull 89
            aload 2 /* guardFolding */
            ifnull 89
        78: .line 399
            aload 8 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 82
        79: .line 400
            aload 7 /* binaryOpLogicNode */
            aload 3 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            aload 8 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 10 /* newStampX */
        start local 10 // org.graalvm.compiler.core.common.type.Stamp newStampX
        80: .line 401
            aload 10 /* newStampX */
            ifnull 82
            aload 2 /* guardFolding */
            aload 3 /* thisGuard */
            aload 8 /* x */
            aload 10 /* newStampX */
            aload 5 /* rewireGuardFunction */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ifeq 82
        81: .line 402
            iconst_1
            ireturn
        end local 10 // org.graalvm.compiler.core.common.type.Stamp newStampX
        82: .line 405
      StackMap locals:
      StackMap stack:
            aload 9 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 89
            aload 2 /* guardFolding */
            ifnull 89
        83: .line 406
            aload 7 /* binaryOpLogicNode */
            aload 3 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            aload 8 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 10 /* newStampY */
        start local 10 // org.graalvm.compiler.core.common.type.Stamp newStampY
        84: .line 407
            aload 10 /* newStampY */
            ifnull 89
            aload 2 /* guardFolding */
            aload 3 /* thisGuard */
            aload 9 /* y */
            aload 10 /* newStampY */
            aload 5 /* rewireGuardFunction */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ifeq 89
        85: .line 408
            iconst_1
            ireturn
        end local 10 // org.graalvm.compiler.core.common.type.Stamp newStampY
        end local 9 // org.graalvm.compiler.nodes.ValueNode y
        end local 8 // org.graalvm.compiler.nodes.ValueNode x
        end local 7 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        86: .line 412
      StackMap locals:
      StackMap stack:
            aload 4 /* node */
            instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
            ifeq 89
        87: .line 413
            aload 4 /* node */
            checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
            astore 7 /* shortCircuitOrNode */
        start local 7 // org.graalvm.compiler.nodes.ShortCircuitOrNode shortCircuitOrNode
        88: .line 414
            aload 0 /* infoElementProvider */
            aload 1 /* conditions */
            aload 2 /* guardFolding */
            aconst_null
            aload 7 /* shortCircuitOrNode */
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 7 /* shortCircuitOrNode */
            aload 5 /* rewireGuardFunction */
            aload 0 /* infoElementProvider */
            aload 1 /* conditions */
            aload 2 /* guardFolding */
            invokedynamic rewire(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationUtil.lambda$0(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.tryProveGuardCondition:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        end local 7 // org.graalvm.compiler.nodes.ShortCircuitOrNode shortCircuitOrNode
        89: .line 438
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement infoElement
        end local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer rewireGuardFunction
        end local 4 // org.graalvm.compiler.nodes.LogicNode node
        end local 3 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        end local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding guardFolding
        end local 1 // java.util.ArrayDeque conditions
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider infoElementProvider
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   90     0  infoElementProvider  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;
            0   90     1           conditions  Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;>;
            0   90     2         guardFolding  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;
            0   90     3            thisGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            0   90     4                 node  Lorg/graalvm/compiler/nodes/LogicNode;
            0   90     5  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
            1   90     6          infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;
            3    7     7                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4    7     8             constant  Ljdk/vm/ci/meta/JavaConstant;
           10   13     7     guardedCondition  Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;
           11   13     9               result  Ljdk/vm/ci/meta/TriState;
           16   34     7       unaryLogicNode  Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
           17   34     8                value  Lorg/graalvm/compiler/nodes/ValueNode;
           20   24     9                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           21   24    10               result  Ljdk/vm/ci/meta/TriState;
           26   34     9           foldResult  Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
           28   30    10               result  Ljdk/vm/ci/meta/TriState;
           32   34    10             newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           36   86     7    binaryOpLogicNode  Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
           37   86     8                    x  Lorg/graalvm/compiler/nodes/ValueNode;
           38   86     9                    y  Lorg/graalvm/compiler/nodes/ValueNode;
           41   44    10               result  Ljdk/vm/ci/meta/TriState;
           47   51    10           foldResult  Lorg/graalvm/collections/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
           49   51    11               result  Ljdk/vm/ci/meta/TriState;
           54   57    10               result  Ljdk/vm/ci/meta/TriState;
           60   69    10               binary  Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
           64   68    11            newStampX  Lorg/graalvm/compiler/core/common/type/Stamp;
           65   68    12               result  Ljdk/vm/ci/meta/TriState;
           72   77    10                  and  Lorg/graalvm/compiler/nodes/calc/AndNode;
           74   77    11                   op  Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
           75   77    12            newStampX  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           80   82    10            newStampX  Lorg/graalvm/compiler/core/common/type/Stamp;
           84   86    10            newStampY  Lorg/graalvm/compiler/core/common/type/Stamp;
           88   89     7   shortCircuitOrNode  Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
    Signature: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardedCondition;>;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
    MethodParameters:
                     Name  Flags
      infoElementProvider  
      conditions           
      guardFolding         
      thisGuard            
      node                 
      rewireGuardFunction  

  private static boolean lambda$0(org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider, java.util.ArrayDeque, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=10, locals=9, args_size=9
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 6 // boolean result
        start local 7 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 8 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 415
            iload 6 /* result */
            aload 0
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isXNegated:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_1
      StackMap locals: org.graalvm.compiler.nodes.ShortCircuitOrNode org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider java.util.ArrayDeque org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding org.graalvm.compiler.nodes.extended.GuardingNode int org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack: int int
         2: if_icmpne 4
         3: .line 416
            aload 5 /* guard */
            iconst_1
            aload 8 /* newInput */
            aload 7 /* guardedValueStamp */
            aload 1
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
         4: .line 418
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3
            aload 4
            aconst_null
            aload 0
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 8 /* newInput */
            aload 5 /* guard */
            aload 0
            aload 7 /* guardedValueStamp */
            aload 1
            invokedynamic rewire(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationUtil.lambda$1(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.tryProveGuardCondition:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$InfoElementProvider;Ljava/util/ArrayDeque;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardFolding;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
        end local 8 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 7 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 6 // boolean result
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode guard
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     5              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    5     6             result  Z
            0    5     7  guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    5     8           newInput  Lorg/graalvm/compiler/nodes/ValueNode;

  private static boolean lambda$1(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=10, args_size=9
        start local 5 // org.graalvm.compiler.nodes.extended.GuardingNode innerGuard
        start local 6 // boolean innerResult
        start local 7 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        start local 8 // org.graalvm.compiler.nodes.ValueNode innerNewInput
         0: .line 419
            aload 0
            astore 9 /* proxifiedInput */
        start local 9 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
         1: .line 420
            aload 9 /* proxifiedInput */
            ifnonnull 4
         2: .line 421
            aload 8 /* innerNewInput */
            astore 9 /* proxifiedInput */
         3: .line 422
            goto 7
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         4: aload 8 /* innerNewInput */
            ifnull 7
         5: .line 423
            aload 8 /* innerNewInput */
            aload 0
            if_acmpeq 7
         6: .line 425
            iconst_0
            ireturn
         7: .line 429
      StackMap locals:
      StackMap stack:
            aload 5 /* innerGuard */
            aload 1
            if_acmpne 9
         8: .line 430
            aload 1
            iload 6 /* innerResult */
            aload 2
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
            ixor
            aload 9 /* proxifiedInput */
            aload 3
            aload 4
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationUtil.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationUtil$GuardRewirer;)Z
            ireturn
         9: .line 432
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        end local 8 // org.graalvm.compiler.nodes.ValueNode innerNewInput
        end local 7 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        end local 6 // boolean innerResult
        end local 5 // org.graalvm.compiler.nodes.extended.GuardingNode innerGuard
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   10     5              innerGuard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0   10     6             innerResult  Z
            0   10     7  innerGuardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   10     8           innerNewInput  Lorg/graalvm/compiler/nodes/ValueNode;
            1   10     9          proxifiedInput  Lorg/graalvm/compiler/nodes/ValueNode;
}
SourceFile: "ConditionalEliminationUtil.java"
NestMembers:
  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InputFilter  org.graalvm.compiler.phases.common.ConditionalEliminationUtil$Marks
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract BinaryOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
  public abstract Or = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$Or of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
  public abstract GuardFolding = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardFolding of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public abstract GuardRewirer = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardRewirer of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public final GuardedCondition = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$GuardedCondition of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public final InfoElement = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElement of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public abstract InfoElementProvider = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InfoElementProvider of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public InputFilter = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$InputFilter of org.graalvm.compiler.phases.common.ConditionalEliminationUtil
  public final Marks = org.graalvm.compiler.phases.common.ConditionalEliminationUtil$Marks of org.graalvm.compiler.phases.common.ConditionalEliminationUtil