(TranslationUnit
    (SymbolTable
        1
        {
            f1:
                (Function
                    (SymbolTable
                        2
                        {
                            f1:
                                (Variable
                                    2
                                    f1
                                    []
                                    ReturnVar
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            i:
                                (Variable
                                    2
                                    i
                                    []
                                    Unspecified
                                    ()
                                    ()
                                    Default
                                    (Complex 8)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            z:
                                (Variable
                                    2
                                    z
                                    []
                                    Unspecified
                                    ()
                                    ()
                                    Default
                                    (Complex 8)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                )
                        })
                    f1
                    (FunctionType
                        [(Complex 8)
                        (Complex 8)]
                        (Integer 4)
                        Source
                        Implementation
                        ()
                        .false.
                        .false.
                        .false.
                        .false.
                        .false.
                        []
                        .false.
                    )
                    []
                    [(Var 2 z)
                    (Var 2 i)]
                    [(Assignment
                        (Var 2 z)
                        (Cast
                            (IntegerConstant 5 (Integer 4) Decimal)
                            IntegerToComplex
                            (Complex 8)
                            (ComplexConstant
                                5.000000
                                0.000000
                                (Complex 8)
                            )
                        )
                        ()
                    )
                    (Print
                        (StringFormat
                            ()
                            [(IntrinsicElementalFunction
                                Aimag
                                [(Var 2 z)]
                                0
                                (Real 8)
                                ()
                            )
                            (IntrinsicElementalFunction
                                Aimag
                                [(Var 2 i)]
                                0
                                (Real 8)
                                ()
                            )]
                            FormatFortran
                            (String -1 0 () PointerString)
                            ()
                        )
                    )]
                    (Var 2 f1)
                    Public
                    .false.
                    .false.
                    ()
                ),
            f2:
                (Function
                    (SymbolTable
                        3
                        {
                            i:
                                (Variable
                                    3
                                    i
                                    []
                                    Unspecified
                                    ()
                                    ()
                                    Default
                                    (Complex 8)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            z:
                                (Variable
                                    3
                                    z
                                    []
                                    Unspecified
                                    ()
                                    ()
                                    Default
                                    (Complex 8)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                )
                        })
                    f2
                    (FunctionType
                        [(Complex 8)
                        (Complex 8)]
                        ()
                        Source
                        Implementation
                        ()
                        .false.
                        .false.
                        .false.
                        .false.
                        .false.
                        []
                        .false.
                    )
                    []
                    [(Var 3 z)
                    (Var 3 i)]
                    [(Assignment
                        (Var 3 z)
                        (Cast
                            (IntegerConstant 5 (Integer 4) Decimal)
                            IntegerToComplex
                            (Complex 8)
                            (ComplexConstant
                                5.000000
                                0.000000
                                (Complex 8)
                            )
                        )
                        ()
                    )]
                    ()
                    Public
                    .false.
                    .false.
                    ()
                )
        })
    []
)
