(TranslationUnit
    [(Module
        types
        (TriviaNode
            []
            [(EndOfLine)
            (EndOfLine)]
        )
        []
        [(ImplicitNone
            []
            ()
        )]
        [(Declaration
            ()
            [(SimpleAttribute
                AttrPrivate
            )]
            []
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(dp
            []
            []
            ()
            ()
            None
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(dp
            []
            []
            ()
            (FuncCallOrArray
                kind
                []
                [(()
                (Real "0.d0")
                ()
                0)]
                []
                []
                []
            )
            Equal
            ())]
            ()
        )]
        []
        []
    )
    (Module
        constants
        (TriviaNode
            [(EndOfLine)
            (Comment
                "! Some constants"
            )]
            [(EndOfLine)
            (EndOfLine)]
        )
        [(Use
            []
            types
            [(UseSymbol
                dp
                ()
            )]
            .true.
            ()
        )]
        [(ImplicitNone
            []
            ()
        )]
        [(Declaration
            ()
            [(SimpleAttribute
                AttrPrivate
            )]
            []
            ()
        )
        (Declaration
            ()
            [(SimpleAttribute
                AttrPublic
            )]
            [(pi
            []
            []
            ()
            ()
            None
            ())
            (e_
            []
            []
            ()
            ()
            None
            ())
            (i_
            []
            []
            ()
            ()
            None
            ())
            (bohr2ang
            []
            []
            ()
            ()
            None
            ())
            (ang2bohr
            []
            []
            ()
            ()
            None
            ())
            (Ha2eV
            []
            []
            ()
            ()
            None
            ())
            (kB
            []
            []
            ()
            ()
            None
            ())
            (K2au
            []
            []
            ()
            ()
            None
            ())
            (density2gcm3
            []
            []
            ()
            ()
            None
            ())
            (u2au
            []
            []
            ()
            ()
            None
            ())
            (s2au
            []
            []
            ()
            ()
            None
            ())
            (kJmol2Ha
            []
            []
            ()
            ()
            None
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Constants contain more digits than double precision, so that"
                )
                (Comment
                    "! they are rounded correctly. Single letter constants contain underscore so"
                )
                (Comment
                    "! that they do not clash with user variables (\"e\" and \"i\" are frequently used as"
                )
                (Comment
                    "! loop variables)"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(pi
            []
            []
            ()
            (Real "3.1415926535897932384626433832795_dp")
            Equal
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(e_
            []
            []
            ()
            (Real "2.7182818284590452353602874713527_dp")
            Equal
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeComplex
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(i_
            []
            []
            ()
            (Complex 0 1)
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(Na
            []
            []
            ()
            (Real "6.02214129e23_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! Avogadro constant"
                )
                (Comment
                    "! Standard uncertainty      0.00000027 (Source: 2010 CODATA)"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(Ha2eV
            []
            []
            ()
            (Real "27.21138505_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! 1 Ha = (1 * Ha2eV) eV"
                )
                (Comment
                    "! Standard uncertainty is       0.00000060 eV (Source: 2010 CODATA)"
                )
                (EndOfLine)]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(J2Ha
            []
            []
            ()
            (Real "2.29371248e17_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! 1 J = (1 * J2Ha) Ha"
                )
                (Comment
                    "! Standard uncertainty is     0.00000010 eV (Source: 2010 CODATA)"
                )
                (EndOfLine)
                (Comment
                    "! Reduced Planck constant"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(hbar
            []
            []
            ()
            (Real "1.054571726e-34_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! [J s]"
                )
                (Comment
                    "! Standard uncertainty is     0.000000047 eV (Source: 2010 CODATA)"
                )
                (EndOfLine)
                (Comment
                    "! Covert Ha to cm^{-1} (energy equivalent)"
                )
                (Comment
                    "! 1 Ha = (1 * Ha2invcm) cm^{-1}"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(Ha2invcm
            []
            []
            ()
            (Real "219474.6313708_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (Comment
                    "! Standard uncertainty is              0.0000011 cm^{-1} (Source: 2010 CODATA)"
                )
                (EndOfLine)]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(kB
            []
            []
            ()
            (Real "1.3806488e-23_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! Boltzmann constant [J/K]"
                )
                (Comment
                    "! Standard uncertainty is   0.0000013 J/K (Source: 2010 CODATA)"
                )
                (EndOfLine)]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(me
            []
            []
            ()
            (Real "9.10938291e-31_dp")
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! electron rest mass [kg]"
                )
                (Comment
                    "! Standard uncertainty is   0.00000040 eV (Source: 2010 CODATA)"
                )
                (EndOfLine)
                (Comment
                    "! Converts K to a.u.:"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(K2au
            []
            []
            ()
            (* J2Ha kB)
            Equal
            ())]
            (TriviaNode
                []
                [(EOLComment
                    "! 1 K = (1 * K2au) a.u."
                )
                (EndOfLine)
                (Comment
                    "! Conversion between Bohr (Hartree atomic units) and Angstrom"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(bohr2ang
            []
            []
            ()
            (Real "0.529177249_dp")
            Equal
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(ang2bohr
            []
            []
            ()
            (/ 1 bohr2ang)
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Converts eV to kcal/mol, it is assumed, that the number in eV is given per"
                )
                (Comment
                    "! molecule.  1 eV = (1 * eV2kcalmol) kcal/mol"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(kcalmol2kJmol
            []
            []
            ()
            (Real "4.184_dp")
            Equal
            ())]
            ()
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(kJmol2Ha
            []
            []
            ()
            (/ (* 1000 J2Ha) Na)
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Converts density from a.u. to g/cm^3"
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(density2gcm3
            []
            []
            ()
            (/ (* me (Real "1e3_dp")) (** (* bohr2ang (Real "1e-8_dp")) 3))
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Converts u (atomic mass unit) to a.u."
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(u2au
            []
            []
            ()
            (/ 1 (* (* Na me) (Real "1e3_dp")))
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! Converts s to a.u."
                )]
            )
        )
        (Declaration
            (AttrType
                TypeReal
                [(()
                dp
                Value)]
                ()
                ()
                None
            )
            [(SimpleAttribute
                AttrParameter
            )]
            [(s2au
            []
            []
            ()
            (/ 1 (* J2Ha hbar))
            Equal
            ())]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        []
        []
    )
    (Program
        modules_03
        ()
        [(Use
            []
            constants
            [(UseSymbol
                Ha2eV
                ()
            )]
            .true.
            ()
        )]
        []
        []
        [(Print
            0
            ()
            [Ha2eV]
            ()
        )]
        []
    )]
)
