add underflow handling in bcrham

only affects debug output printing -- all the actual calculations are in
log space