Before we add rescaling, let me prove to you that our code as it now stands will not work on a large tree. Download the files rbcl738.nex and rbcl738nj.tre and move them to the same directory where you have rbcL.nex.
Modify your strom.conf file to look like this:
datafile = rbcl738.nex
treefile = rbcl738nj.tre
rmatrix = default: 0.08394222, 0.34116704, 0.03603322, 0.15737940, 0.30297095, 0.07850717
statefreq = default: 0.309769, 0.163380, 0.121023, 0.405828
ratevar = default:1.933185251
ncateg = default:4
expectedLnL = -144730.75
You should find that the log-likelihood computed is shown as -inf
(negative infinity), which means the likelihood (on the linear scale) is 0.0, which in turn means that underflow has occurred in at least some of the site likelihood calculations. The next page will show you how to set up BeagleLib to rescale the likelihood so that underflow does not happen.