All the other modifiers stack and make sense but when I try to calculate range with the curved reflector I am completely lost and confused.
I can’t come up with any sensical formula for what it is doing when you add horizon modules.
My expectation when adding to a 3200M weapon :
2 Horizons (18% * 2x) to a curved (-50%) with + 20% range from crew is (18+18-50+20 = 6%) 3392M max range, but it comes out as 2222M???
What gets even more confusing is if you take one horizon off it decreases by 247M but if you take the other off it decreases by 197M? What? How?
Example on T5 Ion Emitter curved reflector+2x mk4 Horizons
Base range of Emitter - 2950m
Each Horizon module mk4 = + 28.6%
2066 = 2950/(1-((-1)+0.286+0.286))
Formula behind it:
IF mod <0 Then newValue = baseValue / (1-mod)
IF mod >0 Then newValue = baseValue * (1+mod)
mod is a modifier which is a sum of all modifiers applied to a parameter.

Reduction of anything is a nonlinear and increase is linear, so that is why Curved’s mod is not (0.5), but (-1)
It probably reduces range by half first then adds your weapon range and horizons. Weapon range with ammo before any modifiers plus 56% of that.
Reduction of anything is a nonlinear and increase is linear, so that is why Curved’s mod is not (0.5), but (-1)
you know what nonlinear formula they are using for negatives? coz that picture makes me scratch my head. or is that just what comes out of the rules up there with x put in?
It probably reduces range by half first then adds your weapon range and horizons. Weapon range with ammo before any modifiers plus 56% of that.
Some times I wander why do I even bother posting all these formulas and how stuff works 
you know what nonlinear formula they are using for negatives? coz that picture makes me scratch my head. or is that just what comes out of the rules up there with x put in?
I believe they use the same formula as it is there, they just calculate mod value for each modifier using that formula and then use these mod values in that formula for end high-level calculation
Thank you, at least it makes sense now.