(TranslationUnit
    [(Program
        doconcurrentloop_02
        ()
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Declaration
            (AttrType
                TypeReal
                []
                ()
                ()
                None
            )
            [(AttrDimension
                [(1
                10
                DimensionExpr)]
            )]
            [(a
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeReal
                []
                ()
                ()
                None
            )
            []
            [(sum
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(N
            []
            []
            ()
            ()
            None
            ())
            (i
            []
            []
            ()
            ()
            None
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Assignment
            0
            N
            (FuncCallOrArray
                size
                []
                [(()
                a
                ()
                0)]
                []
                []
                []
            )
            ()
        )
        (Assignment
            0
            sum
            0
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (DoConcurrentLoop
            0
            ()
            [(ConcurrentControl
                ()
                i
                1
                N
                ()
            )]
            ()
            []
            [(Assignment
                0
                (FuncCallOrArray
                    a
                    []
                    [(()
                    i
                    ()
                    0)]
                    []
                    []
                    []
                )
                (+ (FuncCallOrArray
                    a
                    []
                    [(()
                    (- i 1)
                    ()
                    0)]
                    []
                    []
                    []
                ) 5)
                ()
            )]
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (SubroutineCall
            0
            arraySum
            []
            [(()
            a
            ()
            0)
            (()
            sum
            ()
            0)]
            []
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        [(Subroutine
            arraySum
            [(a)
            (sum)]
            []
            ()
            ()
            []
            []
            []
            [(Declaration
                (AttrType
                    TypeReal
                    []
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    In
                )]
                [(a
                [(()
                ()
                DimensionExpr)]
                []
                ()
                ()
                None
                ())]
                ()
            )
            (Declaration
                (AttrType
                    TypeReal
                    []
                    ()
                    ()
                    None
                )
                [(AttrIntent
                    Out
                )]
                [(sum
                []
                []
                ()
                ()
                None
                ())]
                ()
            )]
            [(DoConcurrentLoop
                0
                ()
                [(ConcurrentControl
                    ()
                    i
                    1
                    N
                    ()
                )]
                ()
                [(ConcurrentReduce
                    ReduceAdd
                    [s]
                )]
                [(Assignment
                    0
                    sum
                    (+ sum (FuncCallOrArray
                        a
                        []
                        [(()
                        i
                        ()
                        0)]
                        []
                        []
                        []
                    ))
                    ()
                )]
                ()
                ()
            )]
            []
            []
        )]
    )]
)
