面倒臭ぇ、加算にして二度塗りしちまえ。

1発目
color = amb + max(0, dot(N, L))*diff

2発目
color += pow(hl, power)*spec