(TranslationUnit
    (SymbolTable
        1
        {
            block_01:
                (Program
                    (SymbolTable
                        2
                        {
                            a:
                                (Variable
                                    2
                                    a
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            associate_block:
                                (AssociateBlock
                                    (SymbolTable
                                        3
                                        {
                                            block:
                                                (Block
                                                    (SymbolTable
                                                        4
                                                        {
                                                            b:
                                                                (Variable
                                                                    4
                                                                    b
                                                                    []
                                                                    Local
                                                                    ()
                                                                    ()
                                                                    Default
                                                                    (Real 4)
                                                                    ()
                                                                    Source
                                                                    Public
                                                                    Required
                                                                    .false.
                                                                    .false.
                                                                ),
                                                            c:
                                                                (Variable
                                                                    4
                                                                    c
                                                                    []
                                                                    Local
                                                                    ()
                                                                    ()
                                                                    Default
                                                                    (Real 4)
                                                                    ()
                                                                    Source
                                                                    Public
                                                                    Required
                                                                    .false.
                                                                    .false.
                                                                )
                                                        })
                                                    block
                                                    [(Assignment
                                                        (Var 4 b)
                                                        (Cast
                                                            (IntegerConstant 3 (Integer 4) Decimal)
                                                            IntegerToReal
                                                            (Real 4)
                                                            (RealConstant
                                                                3.000000
                                                                (Real 4)
                                                            )
                                                        )
                                                        ()
                                                    )
                                                    (Assignment
                                                        (Var 4 c)
                                                        (Cast
                                                            (IntegerUnaryMinus
                                                                (IntegerConstant 3 (Integer 4) Decimal)
                                                                (Integer 4)
                                                                (IntegerConstant -3 (Integer 4) Decimal)
                                                            )
                                                            IntegerToReal
                                                            (Real 4)
                                                            (RealConstant
                                                                -3.000000
                                                                (Real 4)
                                                            )
                                                        )
                                                        ()
                                                    )
                                                    (Assignment
                                                        (Var 2 d)
                                                        (Cast
                                                            (IntrinsicElementalFunction
                                                                Cos
                                                                [(RealBinOp
                                                                    (Var 4 b)
                                                                    Add
                                                                    (Var 4 c)
                                                                    (Real 4)
                                                                    ()
                                                                )]
                                                                0
                                                                (Real 4)
                                                                ()
                                                            )
                                                            RealToInteger
                                                            (Integer 4)
                                                            ()
                                                        )
                                                        ()
                                                    )]
                                                ),
                                            n:
                                                (Variable
                                                    3
                                                    n
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Pointer
                                                        (Integer 4)
                                                    )
                                                    ()
                                                    Source
                                                    Private
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    associate_block
                                    [(Associate
                                        (Var 3 n)
                                        (Var 2 a)
                                    )
                                    (BlockCall
                                        -1
                                        3 block
                                    )]
                                ),
                            b:
                                (Variable
                                    2
                                    b
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            d:
                                (Variable
                                    2
                                    d
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                )
                        })
                    block_01
                    []
                    [(Assignment
                        (Var 2 a)
                        (IntegerConstant 1 (Integer 4) Decimal)
                        ()
                    )
                    (Assignment
                        (Var 2 b)
                        (IntegerConstant 2 (Integer 4) Decimal)
                        ()
                    )
                    (AssociateBlockCall
                        2 associate_block
                    )
                    (If
                        (IntegerCompare
                            (Var 2 b)
                            NotEq
                            (IntegerConstant 2 (Integer 4) Decimal)
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )
                    (If
                        (IntegerCompare
                            (Var 2 d)
                            NotEq
                            (IntegerConstant 1 (Integer 4) Decimal)
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )]
                )
        })
    []
)
