The actual number of row of Lazy Spool is huge
Spool operator ( “Lazy” Spool in this case) will create a temporary table in the TempDB database, and store all data (32 rows in this case) returned from the Merge join. 

Nested loop join executed 3967661 times (outer input) and did a join with table spool (holding 32 rows).  Out of 3967661 times 16 times the parameter of the join changed and had to reevaluate the inner result set (rebind) and 3967645 times inner result set was reusable. As I am not seeing the whole plan I believe 7935322 number came form the 16 reevaluating the inner data set.

In most cases creating an index will most likely get rid of the spool and make the query run faster.  Because you do not have to create the temporary table in tempdb.