I am assuming that your shift is never broken up? i.e. 4 hours in the morning and 6 at evening non continuous? (btw, this would not be a salary, this is hourly. Salary you get the same pay no matter hours)
Does the 1/2 hour prior and 1/4 after get the multpliers? I would assume not, not work done. Does that equate into the 9,10,11 and 12 hour calculations?
my possible logic (in seudocode)... if right we can convert to very simple frmulas
IF (End time>=midnight) or (starttime<=4am) then
Base Pay= 8 * rate '(assume minimum 8 hour shift)
if Hours >8 and Hours <=9 then basepay=basepay + (1.25*rate*(hours-8))
if hours >9 then basepay=basepay + (rate*1.25*2) + (hours-9)*rate*1.5
basepay=basepay+(.75*rate) 'Add prior and post hours