The algorithm is implemented in ANSI C, and is distributed as part of the of the Vienna RNA package. The resource requirements of RNAcofold and RNAfold are theoretically the same: both require (n3) CPU time and (n2) memory. In practice, however, keeping track of the cut makes the evaluation of the loop energies much more expensive and increases the CPU time requirements by an order of magnitude: RNAcofold takes about 22 minutes to cofold an about 3000 nt mRNA with a 20 nt miRNA on an Intel Pentium 4 (3.2 GHz), while RNAfold takes about 3 minutes to fold the concatenated molecule.