UFile (package = ) [public class DeadIfComparison {...]
    UClass (name = DeadIfComparison) [public class DeadIfComparison {...}]
        UMethod (name = foo) [public static fun foo() : int {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var x: int = 0] = Undetermined
                    ULocalVariable (name = x) [var x: int = 0]
                        ULiteralExpression (value = 0) [0] = 0
                UDeclarationsExpression [var y: int = 1] = Undetermined
                    ULocalVariable (name = y) [var y: int = 1]
                        ULiteralExpression (value = 1) [1] = 1
                UDeclarationsExpression [var z: int] = Undetermined
                    ULocalVariable (name = z) [var z: int]
                UIfExpression [if (x === y) {...}] = (var x = 0)
                    UBinaryExpression (operator = ===) [x === y] = false (depending on: (var x = 0), (var y = 1))
                        USimpleNameReferenceExpression (identifier = x) [x] = (var x = 0)
                        USimpleNameReferenceExpression (identifier = y) [y] = (var y = 1)
                    UBlockExpression [{...}] = (var y = 1)
                        UBinaryExpression (operator = =) [z = y] = (var y = 1)
                            USimpleNameReferenceExpression (identifier = z) [z] = (var z = Undetermined)
                            USimpleNameReferenceExpression (identifier = y) [y] = (var y = 1)
                    UBlockExpression [{...}] = (var x = 0)
                        UBinaryExpression (operator = =) [z = x] = (var x = 0)
                            USimpleNameReferenceExpression (identifier = z) [z] = (var z = Undetermined)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = 0)
                UReturnExpression [return z] = Nothing
                    USimpleNameReferenceExpression (identifier = z) [z] = (var z = (var x = 0))
