(TranslationUnit
    (SymbolTable
        1
        {
            open_close_read_write:
                (Program
                    (SymbolTable
                        2
                        {
                            i:
                                (Variable
                                    2
                                    i
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .true.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            lfortran_iomsg:
                                (Variable
                                    2
                                    lfortran_iomsg
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (String 1 (IntegerConstant 0 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            lfortran_iomsg1:
                                (Variable
                                    2
                                    lfortran_iomsg1
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (String 1 (IntegerConstant 0 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            msg:
                                (Variable
                                    2
                                    msg
                                    []
                                    Local
                                    (StringConstant
                                        "Some error occured"
                                        (String 1 (IntegerConstant 18 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    )
                                    (StringConstant
                                        "Some error occured"
                                        (String 1 (IntegerConstant 18 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    )
                                    Save
                                    (String 1 (IntegerConstant 20 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            p:
                                (Variable
                                    2
                                    p
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Array
                                        (Real 4)
                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 100 (Integer 4) Decimal))]
                                        FixedSizeArray
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            q:
                                (Variable
                                    2
                                    q
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Array
                                        (Real 4)
                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 100 (Integer 4) Decimal))]
                                        FixedSizeArray
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            u:
                                (Variable
                                    2
                                    u
                                    []
                                    Local
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    Save
                                    (Integer 4)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .true.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            u_ptr:
                                (Variable
                                    2
                                    u_ptr
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Pointer
                                        (Integer 4)
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            x:
                                (Variable
                                    2
                                    x
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Array
                                        (Real 4)
                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 100 (Integer 4) Decimal))]
                                        FixedSizeArray
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                ),
                            y:
                                (Variable
                                    2
                                    y
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Array
                                        (Real 4)
                                        [((IntegerConstant 1 (Integer 4) Decimal)
                                        (IntegerConstant 100 (Integer 4) Decimal))]
                                        FixedSizeArray
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                )
                        })
                    open_close_read_write
                    []
                    [(Associate
                        (Var 2 u_ptr)
                        (Var 2 u)
                    )
                    (DoLoop
                        ()
                        ((Var 2 i)
                        (IntegerConstant 1 (Integer 4) Decimal)
                        (IntegerConstant 100 (Integer 4) Decimal)
                        ())
                        [(Assignment
                            (ArrayItem
                                (Var 2 x)
                                [(()
                                (Var 2 i)
                                ())]
                                (Real 4)
                                ColMajor
                                ()
                            )
                            (RealBinOp
                                (Cast
                                    (Var 2 i)
                                    IntegerToReal
                                    (Real 4)
                                    ()
                                    ()
                                )
                                Mul
                                (RealConstant
                                    0.100000
                                    (Real 4)
                                )
                                (Real 4)
                                ()
                            )
                            ()
                            .false.
                            .false.
                        )
                        (Assignment
                            (ArrayItem
                                (Var 2 y)
                                [(()
                                (Var 2 i)
                                ())]
                                (Real 4)
                                ColMajor
                                ()
                            )
                            (RealBinOp
                                (IntrinsicElementalFunction
                                    Sin
                                    [(ArrayItem
                                        (Var 2 x)
                                        [(()
                                        (Var 2 i)
                                        ())]
                                        (Real 4)
                                        ColMajor
                                        ()
                                    )]
                                    0
                                    (Real 4)
                                    ()
                                )
                                Mul
                                (RealBinOp
                                    (Cast
                                        (IntegerConstant 1 (Integer 4) Decimal)
                                        IntegerToReal
                                        (Real 4)
                                        (RealConstant
                                            1.000000
                                            (Real 4)
                                        )
                                        ()
                                    )
                                    Sub
                                    (IntrinsicElementalFunction
                                        Cos
                                        [(RealBinOp
                                            (ArrayItem
                                                (Var 2 x)
                                                [(()
                                                (Var 2 i)
                                                ())]
                                                (Real 4)
                                                ColMajor
                                                ()
                                            )
                                            Div
                                            (RealConstant
                                                3.000000
                                                (Real 4)
                                            )
                                            (Real 4)
                                            ()
                                        )]
                                        0
                                        (Real 4)
                                        ()
                                    )
                                    (Real 4)
                                    ()
                                )
                                (Real 4)
                                ()
                            )
                            ()
                            .false.
                            .false.
                        )]
                        []
                    )
                    (FileOpen
                        0
                        (Var 2 u_ptr)
                        (StringConstant
                            "open_close_read_write_data.dat"
                            (String 1 (IntegerConstant 30 (Integer 4) Decimal) ExpressionLength DescriptorString)
                        )
                        (StringConstant
                            "replace"
                            (String 1 (IntegerConstant 7 (Integer 4) Decimal) ExpressionLength DescriptorString)
                        )
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                    )
                    (DoLoop
                        ()
                        ((Var 2 i)
                        (IntegerConstant 1 (Integer 4) Decimal)
                        (IntegerConstant 100 (Integer 4) Decimal)
                        ())
                        [(FileWrite
                            0
                            (Var 2 u)
                            (Var 2 lfortran_iomsg)
                            ()
                            ()
                            [(StringFormat
                                (StringConstant
                                    "(10F8.2)"
                                    (String 1 (IntegerConstant 8 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                )
                                [(ArrayItem
                                    (Var 2 x)
                                    [(()
                                    (Var 2 i)
                                    ())]
                                    (Real 4)
                                    ColMajor
                                    ()
                                )
                                (ArrayItem
                                    (Var 2 y)
                                    [(()
                                    (Var 2 i)
                                    ())]
                                    (Real 4)
                                    ColMajor
                                    ()
                                )]
                                FormatFortran
                                (Allocatable
                                    (String 1 () DeferredLength DescriptorString)
                                )
                                ()
                            )]
                            ()
                            ()
                            ()
                            .true.
                            ()
                            ()
                            ()
                        )]
                        []
                    )
                    (FileClose
                        0
                        (IntegerConstant 1 (Integer 4) Decimal)
                        (Var 2 u)
                        (Var 2 msg)
                        (IntegerConstant 999 (Integer 4) Decimal)
                        ()
                    )
                    (GoToTarget
                        999
                        999
                    )
                    (FileOpen
                        999
                        (IntegerConstant 2 (Integer 4) Decimal)
                        (StringConstant
                            "open_close_read_write_data.dat"
                            (String 1 (IntegerConstant 30 (Integer 4) Decimal) ExpressionLength DescriptorString)
                        )
                        (StringConstant
                            "old"
                            (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString)
                        )
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                        ()
                    )
                    (DoLoop
                        ()
                        ((Var 2 i)
                        (IntegerConstant 1 (Integer 4) Decimal)
                        (IntegerConstant 100 (Integer 4) Decimal)
                        ())
                        [(FileRead
                            0
                            (IntegerConstant 2 (Integer 4) Decimal)
                            ()
                            ()
                            ()
                            ()
                            ()
                            ()
                            ()
                            [(ArrayItem
                                (Var 2 p)
                                [(()
                                (Var 2 i)
                                ())]
                                (Real 4)
                                ColMajor
                                ()
                            )
                            (ArrayItem
                                (Var 2 q)
                                [(()
                                (Var 2 i)
                                ())]
                                (Real 4)
                                ColMajor
                                ()
                            )]
                            ()
                            .true.
                            ()
                            ()
                            ()
                        )]
                        []
                    )
                    (FileClose
                        0
                        (IntegerConstant 2 (Integer 4) Decimal)
                        ()
                        ()
                        ()
                        ()
                    )
                    (DoLoop
                        ()
                        ((Var 2 i)
                        (IntegerConstant 1 (Integer 4) Decimal)
                        (IntegerConstant 100 (Integer 4) Decimal)
                        ())
                        [(FileWrite
                            0
                            (IntegerConstant 6 (Integer 4) Decimal)
                            (Var 2 lfortran_iomsg1)
                            ()
                            ()
                            [(StringFormat
                                ()
                                [(ArrayItem
                                    (Var 2 p)
                                    [(()
                                    (Var 2 i)
                                    ())]
                                    (Real 4)
                                    ColMajor
                                    ()
                                )
                                (ArrayItem
                                    (Var 2 q)
                                    [(()
                                    (Var 2 i)
                                    ())]
                                    (Real 4)
                                    ColMajor
                                    ()
                                )]
                                FormatFortran
                                (Allocatable
                                    (String 1 () DeferredLength DescriptorString)
                                )
                                ()
                            )]
                            ()
                            ()
                            ()
                            .true.
                            ()
                            ()
                            ()
                        )]
                        []
                    )]
                )
        })
    []
)
