Add the employee table to the report 3 times. Give the 2 extra instances aliases such as
Supervisor -> Employee -> SubEmployee
and use Left Outer Joins (empID = SupervisorID) between them, as above.
Create a formula called NoSub_1_0:
IF IsNull({SubEmployee.EmpID}) Then 1 Else 0
Group the report on Supervisor at level 1, Employee at Level 2.
Create a Running Total (SUM) on NoSub_1_0 that evaluates once per Group Level 2.