Well done Enzo. 1 -x is the inverse of x. PixelMath provides the pixel inversion operator ~, namely:
~x = 1 - x
Knowing this you can simplify many of the expressions, and hence make them run faster. The whole set would be:
Darken
Min( IMG1, IMG2 )
Multiply
IMG1 * IMG2
Color Burn (non-commutative)
~(~IMG1/ IMG2)
Linear Burn
IMG1 + IMG2 - 1
Lighten
Max( IMG1, IMG2 )
Screen
~(~IMG1 * ~IMG2)
Color Dodge (non-commutative)
IMG1 / ~IMG2
Overlay (non-commutative)
iif( IMG1 > 0.5, ~(~(2*(IMG1 - 0.5)) * ~IMG2), 2*IMG1*IMG2 )
Soft Light (?) (non-commutative)
iif( IMG2 > 0.5, ~(~IMG1 * ~(IMG2 - 0.5)), IMG1*(IMG2 + 0.5) )
Hard Light (non-commutative)
iif( IMG2 > 0.5, ~(~IMG1 * ~(2*(IMG2 - 0.5))), 2*IMG1*IMG2 ) )
Vivid Light (??) (non-commutative)
iif( IMG2 > 0.5, ~(~IMG1/(IMG2 - 0.5)/2), IMG1/~(2*IMG2) )
Linear Light (non-commutative)
iif( IMG2 > 0.5, IMG1 + 2*(IMG2 - 0.5), IMG1 + 2*IMG2 - 1 )
Pin Light (non-commutative)
iif( IMG2 > 0.5, Max( IMG1, 2*(IMG2 - 0.5) ), Min( IMG1, 2*IMG2 ) )
Difference
IMG1 -- IMG2
Exclusion
0.5 - 2*(IMG1 - 0.5)*(IMG2 - 0.5)