UFile (package = ) [public class NotANumber {...]
    UClass (name = NotANumber) [public class NotANumber {...}]
        UMethod (name = foo) [public static fun foo() : boolean {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var x: double = 0.0 / 0.0] = Undetermined
                    ULocalVariable (name = x) [var x: double = 0.0 / 0.0]
                        UBinaryExpression (operator = /) [0.0 / 0.0] = NaN
                            ULiteralExpression (value = 0.0) [0.0] = 0.0
                            ULiteralExpression (value = 0.0) [0.0] = 0.0
                UDeclarationsExpression [var b1: boolean = x < x] = Undetermined
                    ULocalVariable (name = b1) [var b1: boolean = x < x]
                        UBinaryExpression (operator = <) [x < x] = false (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UDeclarationsExpression [var b2: boolean = x > x] = Undetermined
                    ULocalVariable (name = b2) [var b2: boolean = x > x]
                        UBinaryExpression (operator = >) [x > x] = false (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UDeclarationsExpression [var b3: boolean = x <= x] = Undetermined
                    ULocalVariable (name = b3) [var b3: boolean = x <= x]
                        UBinaryExpression (operator = <=) [x <= x] = false (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UDeclarationsExpression [var b4: boolean = x >= x] = Undetermined
                    ULocalVariable (name = b4) [var b4: boolean = x >= x]
                        UBinaryExpression (operator = >=) [x >= x] = false (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UDeclarationsExpression [var b5: boolean = x === x] = Undetermined
                    ULocalVariable (name = b5) [var b5: boolean = x === x]
                        UBinaryExpression (operator = ===) [x === x] = false (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UDeclarationsExpression [var b6: boolean = x !== x] = Undetermined
                    ULocalVariable (name = b6) [var b6: boolean = x !== x]
                        UBinaryExpression (operator = !==) [x !== x] = true (depending on: (var x = NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = NaN)
                UReturnExpression [return b1 || b2 || b3 || b4 || b5 || !b6] = Nothing
                    UPolyadicExpression (operator = ||) [b1 || b2 || b3 || b4 || b5 || !b6] = false (depending on: (var b1 = false (depending on: (var x = NaN))), (var b2 = false (depending on: (var x = NaN))), (var b3 = false (depending on: (var x = NaN))), (var b4 = false (depending on: (var x = NaN))), (var b5 = false (depending on: (var x = NaN))), (var b6 = true (depending on: (var x = NaN))))
                        USimpleNameReferenceExpression (identifier = b1) [b1] = (var b1 = false (depending on: (var x = NaN)))
                        USimpleNameReferenceExpression (identifier = b2) [b2] = (var b2 = false (depending on: (var x = NaN)))
                        USimpleNameReferenceExpression (identifier = b3) [b3] = (var b3 = false (depending on: (var x = NaN)))
                        USimpleNameReferenceExpression (identifier = b4) [b4] = (var b4 = false (depending on: (var x = NaN)))
                        USimpleNameReferenceExpression (identifier = b5) [b5] = (var b5 = false (depending on: (var x = NaN)))
                        UPrefixExpression (operator = !) [!b6] = false (depending on: (var b6 = true (depending on: (var x = NaN))))
                            USimpleNameReferenceExpression (identifier = b6) [b6] = (var b6 = true (depending on: (var x = NaN)))
        UMethod (name = bar) [public static fun bar() : boolean {...}]
            UBlockExpression [{...}] = Nothing
                UDeclarationsExpression [var x: float = 0.0 / 0.0] = Undetermined
                    ULocalVariable (name = x) [var x: float = 0.0 / 0.0]
                        UBinaryExpression (operator = /) [0.0 / 0.0] = (float)NaN
                            ULiteralExpression (value = 0.0) [0.0] = (float)0.0
                            ULiteralExpression (value = 0.0) [0.0] = (float)0.0
                UDeclarationsExpression [var b1: boolean = x <= x] = Undetermined
                    ULocalVariable (name = b1) [var b1: boolean = x <= x]
                        UBinaryExpression (operator = <=) [x <= x] = false (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UDeclarationsExpression [var b2: boolean = x >= x] = Undetermined
                    ULocalVariable (name = b2) [var b2: boolean = x >= x]
                        UBinaryExpression (operator = >=) [x >= x] = false (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UDeclarationsExpression [var b3: boolean = x < x] = Undetermined
                    ULocalVariable (name = b3) [var b3: boolean = x < x]
                        UBinaryExpression (operator = <) [x < x] = false (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UDeclarationsExpression [var b4: boolean = x > x] = Undetermined
                    ULocalVariable (name = b4) [var b4: boolean = x > x]
                        UBinaryExpression (operator = >) [x > x] = false (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UDeclarationsExpression [var b5: boolean = x === x] = Undetermined
                    ULocalVariable (name = b5) [var b5: boolean = x === x]
                        UBinaryExpression (operator = ===) [x === x] = false (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UDeclarationsExpression [var b6: boolean = x !== x] = Undetermined
                    ULocalVariable (name = b6) [var b6: boolean = x !== x]
                        UBinaryExpression (operator = !==) [x !== x] = true (depending on: (var x = (float)NaN))
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                            USimpleNameReferenceExpression (identifier = x) [x] = (var x = (float)NaN)
                UReturnExpression [return b1 || b2 || b3 || b4 || b5 || !b6] = Nothing
                    UPolyadicExpression (operator = ||) [b1 || b2 || b3 || b4 || b5 || !b6] = false (depending on: (var b1 = false (depending on: (var x = (float)NaN))), (var b2 = false (depending on: (var x = (float)NaN))), (var b3 = false (depending on: (var x = (float)NaN))), (var b4 = false (depending on: (var x = (float)NaN))), (var b5 = false (depending on: (var x = (float)NaN))), (var b6 = true (depending on: (var x = (float)NaN))))
                        USimpleNameReferenceExpression (identifier = b1) [b1] = (var b1 = false (depending on: (var x = (float)NaN)))
                        USimpleNameReferenceExpression (identifier = b2) [b2] = (var b2 = false (depending on: (var x = (float)NaN)))
                        USimpleNameReferenceExpression (identifier = b3) [b3] = (var b3 = false (depending on: (var x = (float)NaN)))
                        USimpleNameReferenceExpression (identifier = b4) [b4] = (var b4 = false (depending on: (var x = (float)NaN)))
                        USimpleNameReferenceExpression (identifier = b5) [b5] = (var b5 = false (depending on: (var x = (float)NaN)))
                        UPrefixExpression (operator = !) [!b6] = false (depending on: (var b6 = true (depending on: (var x = (float)NaN))))
                            USimpleNameReferenceExpression (identifier = b6) [b6] = (var b6 = true (depending on: (var x = (float)NaN)))
