(TranslationUnit
    (SymbolTable
        1
        {
            flip_sign_dead_code:
                (Program
                    (SymbolTable
                        2
                        {
                            a:
                                (Variable
                                    2
                                    a
                                    []
                                    Local
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    Save
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            ap:
                                (Variable
                                    2
                                    ap
                                    []
                                    Local
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    Parameter
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            b:
                                (Variable
                                    2
                                    b
                                    []
                                    Local
                                    (IntegerConstant 2 (Integer 4) Decimal)
                                    (IntegerConstant 2 (Integer 4) Decimal)
                                    Save
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            bp:
                                (Variable
                                    2
                                    bp
                                    []
                                    Local
                                    (IntegerConstant 2 (Integer 4) Decimal)
                                    (IntegerConstant 2 (Integer 4) Decimal)
                                    Parameter
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            c:
                                (Variable
                                    2
                                    c
                                    []
                                    Local
                                    (RealConstant
                                        1.000000
                                        (Real 4)
                                    )
                                    (RealConstant
                                        1.000000
                                        (Real 4)
                                    )
                                    Save
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            cp:
                                (Variable
                                    2
                                    cp
                                    []
                                    Local
                                    (RealConstant
                                        1.000000
                                        (Real 4)
                                    )
                                    (RealConstant
                                        1.000000
                                        (Real 4)
                                    )
                                    Parameter
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            d:
                                (Variable
                                    2
                                    d
                                    []
                                    Local
                                    (RealConstant
                                        2.000000
                                        (Real 4)
                                    )
                                    (RealConstant
                                        2.000000
                                        (Real 4)
                                    )
                                    Save
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            dp:
                                (Variable
                                    2
                                    dp
                                    []
                                    Local
                                    (RealConstant
                                        2.000000
                                        (Real 4)
                                    )
                                    (RealConstant
                                        2.000000
                                        (Real 4)
                                    )
                                    Parameter
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            eps:
                                (Variable
                                    2
                                    eps
                                    []
                                    Local
                                    (RealConstant
                                        0.000001
                                        (Real 4)
                                    )
                                    (RealConstant
                                        0.000001
                                        (Real 4)
                                    )
                                    Save
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            number:
                                (Variable
                                    2
                                    number
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            x:
                                (Variable
                                    2
                                    x
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Real 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                )
                        })
                    flip_sign_dead_code
                    []
                    [(Assignment
                        (Var 2 number)
                        (IntegerConstant 123 (Integer 4) Decimal)
                        ()
                    )
                    (Assignment
                        (Var 2 x)
                        (RealConstant
                            5.500000
                            (Real 4)
                        )
                        ()
                    )
                    (If
                        (IntegerCompare
                            (IntrinsicElementalFunction
                                Modulo
                                [(Var 2 number)
                                (IntegerConstant 2 (Integer 4) Decimal)]
                                0
                                (Integer 4)
                                ()
                            )
                            Eq
                            (IntegerConstant 1 (Integer 4) Decimal)
                            (Logical 4)
                            ()
                        )
                        [(Assignment
                            (Var 2 x)
                            (RealUnaryMinus
                                (Var 2 x)
                                (Real 4)
                                ()
                            )
                            ()
                        )]
                        []
                    )
                    (If
                        (RealCompare
                            (IntrinsicElementalFunction
                                Abs
                                [(RealBinOp
                                    (Var 2 x)
                                    Sub
                                    (RealUnaryMinus
                                        (RealConstant
                                            5.500000
                                            (Real 4)
                                        )
                                        (Real 4)
                                        (RealConstant
                                            -5.500000
                                            (Real 4)
                                        )
                                    )
                                    (Real 4)
                                    ()
                                )]
                                0
                                (Real 4)
                                ()
                            )
                            Gt
                            (Var 2 eps)
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )
                    (Assignment
                        (Var 2 number)
                        (IntegerConstant 124 (Integer 4) Decimal)
                        ()
                    )
                    (Assignment
                        (Var 2 x)
                        (RealConstant
                            5.500000
                            (Real 4)
                        )
                        ()
                    )
                    (If
                        (IntegerCompare
                            (IntrinsicElementalFunction
                                Modulo
                                [(Var 2 number)
                                (IntegerConstant 2 (Integer 4) Decimal)]
                                0
                                (Integer 4)
                                ()
                            )
                            Eq
                            (IntegerConstant 1 (Integer 4) Decimal)
                            (Logical 4)
                            ()
                        )
                        [(Assignment
                            (Var 2 x)
                            (RealUnaryMinus
                                (Var 2 x)
                                (Real 4)
                                ()
                            )
                            ()
                        )]
                        []
                    )
                    (If
                        (RealCompare
                            (IntrinsicElementalFunction
                                Abs
                                [(RealBinOp
                                    (Var 2 x)
                                    Sub
                                    (RealConstant
                                        5.500000
                                        (Real 4)
                                    )
                                    (Real 4)
                                    ()
                                )]
                                0
                                (Real 4)
                                ()
                            )
                            Gt
                            (Var 2 eps)
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )
                    (If
                        (IntegerCompare
                            (Var 2 ap)
                            Eq
                            (Var 2 bp)
                            (Logical 4)
                            (LogicalConstant
                                .false.
                                (Logical 4)
                            )
                        )
                        [(Print
                            (StringConstant
                                "ap == bp"
                                (String 1 8 () PointerString)
                            )
                        )]
                        [(Print
                            (StringConstant
                                "ap /= bp"
                                (String 1 8 () PointerString)
                            )
                        )]
                    )
                    (If
                        (RealCompare
                            (Var 2 cp)
                            Eq
                            (Var 2 dp)
                            (Logical 4)
                            (LogicalConstant
                                .false.
                                (Logical 4)
                            )
                        )
                        [(Print
                            (StringConstant
                                "cp == dp"
                                (String 1 8 () PointerString)
                            )
                        )]
                        [(Print
                            (StringConstant
                                "cp /= dp"
                                (String 1 8 () PointerString)
                            )
                        )]
                    )
                    (If
                        (IntegerCompare
                            (Var 2 a)
                            Eq
                            (Var 2 b)
                            (Logical 4)
                            ()
                        )
                        [(Print
                            (StringConstant
                                "a == b"
                                (String 1 6 () PointerString)
                            )
                        )
                        (If
                            (IntegerCompare
                                (Var 2 ap)
                                Eq
                                (Var 2 bp)
                                (Logical 4)
                                (LogicalConstant
                                    .false.
                                    (Logical 4)
                                )
                            )
                            [(Print
                                (StringConstant
                                    "ap == bp"
                                    (String 1 8 () PointerString)
                                )
                            )]
                            [(Print
                                (StringConstant
                                    "ap /= bp"
                                    (String 1 8 () PointerString)
                                )
                            )]
                        )]
                        [(If
                            (RealCompare
                                (Cast
                                    (Var 2 ap)
                                    IntegerToReal
                                    (Real 4)
                                    (RealConstant
                                        1.000000
                                        (Real 4)
                                    )
                                )
                                Eq
                                (Var 2 cp)
                                (Logical 4)
                                (LogicalConstant
                                    .true.
                                    (Logical 4)
                                )
                            )
                            [(Print
                                (StringConstant
                                    "ap == cp"
                                    (String 1 8 () PointerString)
                                )
                            )
                            (If
                                (RealCompare
                                    (Var 2 cp)
                                    Eq
                                    (Var 2 dp)
                                    (Logical 4)
                                    (LogicalConstant
                                        .false.
                                        (Logical 4)
                                    )
                                )
                                [(Print
                                    (StringConstant
                                        "cp == dp"
                                        (String 1 8 () PointerString)
                                    )
                                )]
                                [(Print
                                    (StringConstant
                                        "cp /= dp"
                                        (String 1 8 () PointerString)
                                    )
                                )]
                            )]
                            [(If
                                (RealCompare
                                    (Var 2 c)
                                    Eq
                                    (Var 2 d)
                                    (Logical 4)
                                    ()
                                )
                                [(Print
                                    (StringConstant
                                        "c == d"
                                        (String 1 6 () PointerString)
                                    )
                                )]
                                []
                            )]
                        )]
                    )]
                )
        })
    []
)
