UFile (package = ) [public class AliveThenElse {...]
    UClass (name = AliveThenElse) [public class AliveThenElse {...}]
        UMethod (name = foo) [public static fun foo(f: boolean) : int {...}]
            UParameter (name = f) [var f: boolean]
            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 (f) {...}] = Phi((var y = 1), (var x = 0))
                    USimpleNameReferenceExpression (identifier = f) [f] = Undetermined
                    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 = Phi((var y = 1), (var x = 0)))
