(TranslationUnit
    [(Function
        conform
        [(mold)
        (val)
        (dim)]
        []
        ()
        ()
        ()
        []
        []
        []
        [(Declaration
            (AttrType
                TypeType
                []
                ()
                ()
                Asterisk
            )
            [(AttrIntent
                In
            )]
            [(mold
            [(()
            ()
            AssumedRank)]
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeType
                []
                ()
                ()
                Asterisk
            )
            [(AttrIntent
                In
            )
            (SimpleAttribute
                AttrOptional
            )]
            [(val
            [(()
            ()
            AssumedRank)]
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(AttrIntent
                In
            )
            (SimpleAttribute
                AttrOptional
            )]
            [(dim
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeLogical
                []
                ()
                ()
                None
            )
            []
            [(conform
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(If
            0
            ()
            (FuncCallOrArray
                present
                []
                [(()
                val
                ()
                0)]
                []
                []
                []
            )
            [(If
                0
                ()
                (FuncCallOrArray
                    present
                    []
                    [(()
                    dim
                    ()
                    0)]
                    []
                    []
                    []
                )
                [(If
                    0
                    ()
                    (BoolOp
                        (BoolOp
                            (> dim 0)
                            And
                            (<= dim (FuncCallOrArray
                                rank
                                []
                                [(()
                                mold
                                ()
                                0)]
                                []
                                []
                                []
                            ))
                        )
                        And
                        (<= dim (FuncCallOrArray
                            rank
                            []
                            [(()
                            val
                            ()
                            0)]
                            []
                            []
                            []
                        ))
                    )
                    [(Assignment
                        0
                        conform
                        (== (FuncCallOrArray
                            size
                            []
                            [(()
                            mold
                            ()
                            0)]
                            [(dim
                            dim)]
                            []
                            []
                        ) (FuncCallOrArray
                            size
                            []
                            [(()
                            val
                            ()
                            0)]
                            [(dim
                            dim)]
                            []
                            []
                        ))
                        ()
                    )]
                    [(ErrorStop
                        0
                        (String "Runtime error: Illegal dim argument provided in conform")
                        ()
                        ()
                    )]
                    ()
                    ()
                    ()
                )]
                [(If
                    0
                    ()
                    (== (FuncCallOrArray
                        rank
                        []
                        [(()
                        val
                        ()
                        0)]
                        []
                        []
                        []
                    ) (FuncCallOrArray
                        rank
                        []
                        [(()
                        mold
                        ()
                        0)]
                        []
                        []
                        []
                    ))
                    [(Assignment
                        0
                        conform
                        (FuncCallOrArray
                            all
                            []
                            [(()
                            (== (FuncCallOrArray
                                shape
                                []
                                [(()
                                mold
                                ()
                                0)]
                                []
                                []
                                []
                            ) (FuncCallOrArray
                                shape
                                []
                                [(()
                                val
                                ()
                                0)]
                                []
                                []
                                []
                            ))
                            ()
                            0)]
                            []
                            []
                            []
                        )
                        ()
                    )]
                    [(Assignment
                        0
                        conform
                        (Logical .false.)
                        ()
                    )]
                    ()
                    ()
                    ()
                )]
                ()
                ()
                ()
            )]
            [(Assignment
                0
                conform
                (Logical .true.)
                ()
            )]
            ()
            ()
            ()
        )]
        []
        []
    )]
)
