Accepted Strand's input that the variables should be full words to make the code more readable, and added comment lines to indicate the naming convention for the variable's contexts. Discovered source of bug was declaring that margin minus half the gutter is always being greater than or equal to zero... this was not trimming sufficient widths when the gutter was greater than twice the margin.