How to create an equivalent to the Hard Light blend type?
Blender cannot work with a majority of the original AdobePDF blend mode types as they are strictly display referred and fail miserably when operating on scene referred imagery.

From the AdobePDF specification, where cb is background and cs is source.


  Multiply (cb, 2 * cs), if cs ≤ 0.5
  Screen (cb, 2 * cs – 1) if cs &gt; 0.5


As you can see, the "minus one" portion, as well as the screen operation, will yield completely erroneous results on scene referred imagery.

Also, 0.5 comparison values would be on display referred nonlinear imagery, which would be post display referred transform.

Ultimately, it is a meaningless blend mode within a raytracing context. You could of course write your own screen node as well as hard light, generate a display referred output, and try to hack something together. It would seem that more optimal approaches might be wiser than a hacked mess, however.