(TranslationUnit
    [(Subroutine
        g
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            ()
        )
        (Assignment
            0
            x
            (* 2 y)
            ()
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            ()
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            [(EndOfLine)
            (EndOfLine)]
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (EndOfLine)
                (EndOfLine)]
            )
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(EndOfLine)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (Semicolon)
                (EndOfLine)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            ()
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(Semicolon)
                (EndOfLine)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            (TriviaNode
                []
                [(Semicolon)
                (EndOfLine)]
            )
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(Semicolon)
                (Semicolon)
                (EndOfLine)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            (TriviaNode
                []
                [(Semicolon)
                (Semicolon)
                (Semicolon)
                (EndOfLine)]
            )
        )]
        []
        []
    )
    (Subroutine
        g
        []
        []
        ()
        (TriviaNode
            [(Semicolon)]
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            x
            y
            (TriviaNode
                []
                [(Semicolon)]
            )
        )
        (Assignment
            0
            x
            (* 2 y)
            (TriviaNode
                []
                [(Semicolon)]
            )
        )]
        []
        []
    )
    (Subroutine
        f
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        []
        [(Assignment
            0
            subroutine
            y
            ()
        )
        (Assignment
            0
            x
            (* 2 subroutine)
            ()
        )]
        []
        []
    )
    (Subroutine
        f
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(x
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        []
        []
        []
    )
    (Subroutine
        f
        []
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(x
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        []
        []
        []
    )
    (Subroutine
        f
        [(a)
        (b)
        (c)
        (d)]
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                In
            )]
            [(a
            []
            []
            ()
            ()
            None
            ())
            (b
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                In
            )]
            [(c
            []
            []
            ()
            ()
            None
            ())
            (d
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(z
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(y
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        []
        []
        []
    )
    (Subroutine
        f
        [(a)
        (b)
        (c)
        (d)]
        []
        ()
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        []
        []
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                Out
            )]
            [(a
            []
            []
            ()
            ()
            None
            ())
            (b
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                InOut
            )]
            [(c
            []
            []
            ()
            ()
            None
            ())
            (d
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(z
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(y
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        []
        []
        []
    )
    (Subroutine
        saxpy
        [(n)
        (a)
        (x)
        (y)]
        []
        ()
        ()
        []
        []
        []
        [(Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(AttrIntent
                In
            )]
            [(x
            [(()
            ()
            DimensionExpr)]
            []
            ()
            ()
            None
            ())
            (a
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(AttrIntent
                InOut
            )]
            [(y
            [(()
            ()
            DimensionExpr)]
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                In
            )]
            [(n
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(i
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(DoLoop
            0
            ()
            0
            i
            1
            n
            ()
            [(Assignment
                0
                (FuncCallOrArray
                    y
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                )
                (+ (* a (FuncCallOrArray
                    x
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                )) (FuncCallOrArray
                    y
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                ))
                ()
            )]
            ()
            ()
        )]
        []
        []
    )]
)
