Identify all branches in the given functions; assign a unique number (ID) to each one.
Before the program starts (before the first instruction in “main” or as the first step in the unit test
harness), create data structures that hold coverage information about specific branches.
Before the first statement of each branch outcome (including to-be-added “else” clauses if none exist),
add a line that sets a flag if the branch is reached.
At the end of the program (as the last instruction in “main” or at the end of all unit tests), write all
information about the taken branches taken to a file or console.