(TranslationUnit
    (SymbolTable
        1
        {
            functions_06:
                (Program
                    (SymbolTable
                        6
                        {
                            int_return:
                                (ExternalSymbol
                                    6
                                    int_return
                                    2 int_return
                                    functions_06_m
                                    []
                                    int_return
                                    Public
                                ),
                            real_return:
                                (ExternalSymbol
                                    6
                                    real_return
                                    2 real_return
                                    functions_06_m
                                    []
                                    real_return
                                    Public
                                ),
                            string:
                                (Variable
                                    6
                                    string
                                    []
                                    Local
                                    (StringConstant
                                        "  abc"
                                        (String 1 5 () PointerString)
                                    )
                                    (StringConstant
                                        "  abc"
                                        (String 1 5 () PointerString)
                                    )
                                    Save
                                    (String 1 5 () PointerString)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                ),
                            trim_wrapper:
                                (ExternalSymbol
                                    6
                                    trim_wrapper
                                    2 trim_wrapper
                                    functions_06_m
                                    []
                                    trim_wrapper
                                    Public
                                )
                        })
                    functions_06
                    [functions_06_m]
                    [(Print
                        (FunctionCall
                            6 trim_wrapper
                            ()
                            [((Var 6 string))]
                            (String 1 -3 (StringLen
                                (Var 6 string)
                                (Integer 4)
                                ()
                            ) PointerString)
                            ()
                            ()
                        )
                    )
                    (Print
                        (StringFormat
                            ()
                            [(FunctionCall
                                6 int_return
                                ()
                                [((Var 6 string))]
                                (Array
                                    (Integer 4)
                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                    (StringLen
                                        (Var 6 string)
                                        (Integer 4)
                                        ()
                                    ))]
                                    PointerToDataArray
                                )
                                ()
                                ()
                            )]
                            FormatFortran
                            (String -1 0 () PointerString)
                            ()
                        )
                    )
                    (Print
                        (StringFormat
                            ()
                            [(FunctionCall
                                6 real_return
                                ()
                                [((Var 6 string))]
                                (Array
                                    (Real 4)
                                    [((IntegerConstant 1 (Integer 4) Decimal)
                                    (StringLen
                                        (Var 6 string)
                                        (Integer 4)
                                        ()
                                    ))]
                                    PointerToDataArray
                                )
                                ()
                                ()
                            )]
                            FormatFortran
                            (String -1 0 () PointerString)
                            ()
                        )
                    )]
                ),
            functions_06_m:
                (Module
                    (SymbolTable
                        2
                        {
                            int_return:
                                (Function
                                    (SymbolTable
                                        4
                                        {
                                            i:
                                                (Variable
                                                    4
                                                    i
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            r:
                                                (Variable
                                                    4
                                                    r
                                                    [s]
                                                    ReturnVar
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Integer 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (StringLen
                                                            (Var 4 s)
                                                            (Integer 4)
                                                            ()
                                                        ))]
                                                        PointerToDataArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            s:
                                                (Variable
                                                    4
                                                    s
                                                    []
                                                    Unspecified
                                                    ()
                                                    ()
                                                    Default
                                                    (String 1 -1 () PointerString)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    int_return
                                    (FunctionType
                                        [(String 1 -1 () PointerString)]
                                        (Array
                                            (Integer 4)
                                            [((IntegerConstant 1 (Integer 4) Decimal)
                                            (StringLen
                                                (FunctionParam
                                                    0
                                                    (String 1 -1 () PointerString)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            ))]
                                            PointerToDataArray
                                        )
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 4 s)]
                                    [(DoLoop
                                        ()
                                        ((Var 4 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (StringLen
                                            (Var 4 s)
                                            (Integer 4)
                                            ()
                                        )
                                        ())
                                        [(Assignment
                                            (ArrayItem
                                                (Var 4 r)
                                                [(()
                                                (Var 4 i)
                                                ())]
                                                (Integer 4)
                                                ColMajor
                                                ()
                                            )
                                            (IntegerConstant 2 (Integer 4) Decimal)
                                            ()
                                        )]
                                        []
                                    )]
                                    (Var 4 r)
                                    Public
                                    .false.
                                    .false.
                                    ()
                                ),
                            real_return:
                                (Function
                                    (SymbolTable
                                        5
                                        {
                                            i:
                                                (Variable
                                                    5
                                                    i
                                                    []
                                                    Local
                                                    ()
                                                    ()
                                                    Default
                                                    (Integer 4)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            r:
                                                (Variable
                                                    5
                                                    r
                                                    [s]
                                                    ReturnVar
                                                    ()
                                                    ()
                                                    Default
                                                    (Array
                                                        (Real 4)
                                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                                        (StringLen
                                                            (Var 5 s)
                                                            (Integer 4)
                                                            ()
                                                        ))]
                                                        PointerToDataArray
                                                    )
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            s:
                                                (Variable
                                                    5
                                                    s
                                                    []
                                                    Unspecified
                                                    ()
                                                    ()
                                                    Default
                                                    (String 1 -1 () PointerString)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    real_return
                                    (FunctionType
                                        [(String 1 -1 () PointerString)]
                                        (Array
                                            (Real 4)
                                            [((IntegerConstant 1 (Integer 4) Decimal)
                                            (StringLen
                                                (FunctionParam
                                                    0
                                                    (String 1 -1 () PointerString)
                                                    ()
                                                )
                                                (Integer 4)
                                                ()
                                            ))]
                                            PointerToDataArray
                                        )
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 5 s)]
                                    [(DoLoop
                                        ()
                                        ((Var 5 i)
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        (StringLen
                                            (Var 5 s)
                                            (Integer 4)
                                            ()
                                        )
                                        ())
                                        [(Assignment
                                            (ArrayItem
                                                (Var 5 r)
                                                [(()
                                                (Var 5 i)
                                                ())]
                                                (Real 4)
                                                ColMajor
                                                ()
                                            )
                                            (RealConstant
                                                2.000000
                                                (Real 4)
                                            )
                                            ()
                                        )]
                                        []
                                    )]
                                    (Var 5 r)
                                    Public
                                    .false.
                                    .false.
                                    ()
                                ),
                            trim_wrapper:
                                (Function
                                    (SymbolTable
                                        3
                                        {
                                            r:
                                                (Variable
                                                    3
                                                    r
                                                    [s]
                                                    ReturnVar
                                                    ()
                                                    ()
                                                    Default
                                                    (String 1 -3 (StringLen
                                                        (Var 3 s)
                                                        (Integer 4)
                                                        ()
                                                    ) PointerString)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                ),
                                            s:
                                                (Variable
                                                    3
                                                    s
                                                    []
                                                    Unspecified
                                                    ()
                                                    ()
                                                    Default
                                                    (String 1 -1 () PointerString)
                                                    ()
                                                    Source
                                                    Public
                                                    Required
                                                    .false.
                                                    .false.
                                                )
                                        })
                                    trim_wrapper
                                    (FunctionType
                                        [(String 1 -1 () PointerString)]
                                        (String 1 -1 () PointerString)
                                        Source
                                        Implementation
                                        ()
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        .false.
                                        []
                                        .false.
                                    )
                                    []
                                    [(Var 3 s)]
                                    [(Assignment
                                        (Var 3 r)
                                        (IntrinsicElementalFunction
                                            StringTrim
                                            [(Var 3 s)]
                                            0
                                            (String 1 -1 () PointerString)
                                            ()
                                        )
                                        ()
                                    )]
                                    (Var 3 r)
                                    Public
                                    .false.
                                    .false.
                                    ()
                                )
                        })
                    functions_06_m
                    []
                    .false.
                    .false.
                )
        })
    []
)
