When performing coverage analysis, it is important that the line numbers
seen in the .c file are fairly accurate.
Currently we a lines to the end of a code block, and they appear to have
line numbers that correspond to whatever appears after the code block.
This is confusing.
So put all that extra code on the last line (matching the }$).
Also switch back to "gen_reduce" immediately after the code block.
Signed-off-by: NeilBrown <neil@brown.name>