(TranslationUnit
    [(Subroutine
        start1
        [(n)
        (f)
        (l)
        (lout)]
        []
        ()
        ()
        []
        []
        []
        [(Declaration
            (AttrType
                TypeReal
                []
                ()
                ()
                None
            )
            []
            [(f
            [(1
            l
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (one
            []
            []
            ()
            ()
            None
            ())
            (two
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(DataStmt
            0
            [(DataStmtSet
                [one
                two]
                [(Real "1.0")
                (Real "2.0")]
            )]
            ()
        )
        (Assignment
            0
            lout
            (+ 1 (/ n 2))
            ()
        )
        (DoLoop
            0
            ()
            1
            i
            1
            lout
            ()
            [(Assignment
                1
                (FuncCallOrArray
                    f
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                )
                two
                ()
            )]
            ()
            ()
        )
        (If
            0
            ()
            (== (FuncCallOrArray
                mod
                []
                [(()
                n
                ()
                0)
                (()
                2
                ()
                0)]
                []
                []
                []
            ) 0)
            [(Assignment
                0
                (FuncCallOrArray
                    f
                    []
                    [(()
                    lout
                    ()
                    0)]
                    []
                    []
                    []
                )
                one
                ()
            )]
            []
            ()
            ()
            ()
        )
        (Return
            0
            ()
            ()
        )]
        []
        []
    )
    (Subroutine
        f
        [(n)]
        []
        ()
        ()
        []
        []
        []
        []
        [(DoLoop
            0
            ()
            1
            i
            1
            lout
            ()
            [(Assignment
                0
                a
                1
                ()
            )
            (DoLoop
                0
                ()
                0
                j
                3
                n
                ()
                [(Assignment
                    0
                    b
                    2
                    ()
                )
                (DoLoop
                    0
                    ()
                    4
                    k
                    3
                    n
                    ()
                    [(Assignment
                        0
                        c
                        3
                        ()
                    )
                    (DoLoop
                        0
                        ()
                        5
                        l
                        3
                        n
                        ()
                        [(Assignment
                            0
                            d
                            4
                            ()
                        )
                        (Assignment
                            5
                            xx
                            5
                            ()
                        )]
                        ()
                        ()
                    )
                    (Assignment
                        0
                        e
                        5
                        ()
                    )]
                    ()
                    ()
                )
                (Assignment
                    0
                    kmn
                    6
                    ()
                )]
                ()
                ()
            )
            (Assignment
                0
                g
                8
                ()
            )
            (Assignment
                1
                (FuncCallOrArray
                    kmn
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                )
                two
                ()
            )]
            ()
            ()
        )
        (Assignment
            0
            h
            9
            ()
        )]
        []
        []
    )]
)
