in the analytic codon2x3 example, separate the sparse vs. dense functions