This is because on ATmega 32u4, which is used in Arduino Leonardo, pins 5 and 7 are not mapped to port D but to port C and E respectively, as you can see in the ATmega 32u4 - Arduino Pin Mapping.
So you will have to:
- either find another port where all 8 bits are available as digital outputs (note that I'm not sure one such port exists)
- or split each
sine[i]
in 2 parts because you will have to work with 2 ports at the same time.