The Beyer-Swinehart (BS) algorithm, which calculates vibrational state density and sum, was modified for simultaneous treatment of degenerate vibrations. The modified algorithm was used in the grouped-frequency mode of the Rice-Ramsperger-Kassel-Marcus (RRKM) unimolecular reaction rate constant calculation for proteins with relative molecular mass as large as 100,000. Compared to the original BS method, reduction in computation time by a factor of around 3000 was achieved. Even though large systematic errors arising from frequency grouping were observed for state densities and sums, they more or less canceled each other, thus enabling reliable rate constant calculation. The present method is thought to be adequate for efficient and reliable RRKM calculations for any macromolecule in the gas phase such as the molecular ions of proteins, nucleic acids, and carbohydrates generated inside a mass spectrometer. The algorithm can also be used to calculate the internal energy distribution of a macromolecule at thermal