coverage counts each branch as two possible instructions and gives them the same weight as non-branching instructions. Using this formula:

Looking at results.py from code, percent coverage is calculated in pc_covered , with data obtained from ratio_covered :
@property def ratio_covered(self): """Return a numerator and denominator for the coverage ratio.""" numerator = self.n_executed + self.n_executed_branches denominator = self.n_statements + self.n_branches return numerator, denominator
As you can see, if branch coverage is enabled, each branch will be counted twice, once as an operator and once as a branch.
source share