The easiest way to do this stuff with predictable results IMO is to work in linear floating point and here is my understanding of what to do:
I’m assuming that your HDR images inherently have a gamma of 1.0, this means that you must cancel out the monitor gamma adjustment and the image will look correct.
So import your OpenEXR (say) image and add a viewer lookup gamma LUT that is equal to your monitor gamma.
An fstop is equal to double the exposure, therefore add the image to itself (using an add node) to increase the exposure by 1 fstop, or use the brightness node, which is a multiplier, so brightness=2 means multiplied by two which is 1 fstop more light, or brightness=4 is 2 fstops more light. Also brightness=.5 is equivalent to 1 f-stop less light etc.
If working with say 8 bit linear images, first promote to float, then cancel out the gamma value, which is probably 2.2, using a gamma node. If you apply a brightness then, you will notice it holds together much better than not doing the float/gamma adjustment.
I actually found the elin docs useful (you can download from redgiant.com) for working out what’s what. Also prolost.com etc.
Michael