To generate candidate compounds for these benchmark tests, a set of artificial NMR spectra was created, as illustrated in Fig. . Each artificial spectrum was created by summing a series of component spectra, each of which was created by the following procedure: Each component spectrum contained 10 resonances with isotropic shifts selected from a spectral range of 0 to 10 ppm. In each component spectrum, each of the resonances was assigned a random integer intensity between 0 and 3. Of the ten resonances in each component spectrum, 5 were randomly selected to be coupled, with a J -coupling value of either 5 or 10 Hz. Each component spectrum was then assigned a weight, which represents the concentration of the compound in the mixture, by sampling from a Dirchlet distribution with a length parameter equal to the number of compounds in the spectrum. The spectra were then multiplied by their respective weights and stacked into a single composite spectrum, which mimics an experimental spectrum of a reaction mixture.