"M" is alternatively defined to be one larger than the number of decision
points (if/case-statements, while-statements, etc) in a module (function,
procedure, chart node, etc.), or more generally a system.
Separate subroutines are treated as being independent, disconnected
components of the program's control flow graph.