Hmm. This mechanics description doesn't match this piece of code that determines whether UFO is hit.
https://github.com/OpenXcom/OpenXcom/blob/da95e73f7da88781227f4da0262b525e6fffaad2/src/Geoscape/DogfightState.cpp#L833Can you comment on this code? Is it relevant one?
Keep in mind that the accuracy article you pointed at is for original game where people tried to observe values. Whereas my question is about openxcom with the open code. And, probably, slightly different implementation that may lead to differences.
Let's compare both formulas side by side.
The one from wiki
[1+(3/UFOsize)]/2 * Weapon Accuracy
The one from openxcom code
RNG::percent((p->getAccuracy() * (100 + 300 / (5 - _ufoSize)) + 100) / 200)
I am not sure what RNG::percent is but would assume that it returns true with percentage given as an argument. So its argument expression above is a final accuracy against given UFO.
If this assumption is correct then the openxcom formula for accuracy can be simplified like that:
(Weapon Accuracy * (1 + 3 / (5 - _ufoSize)) + 1) / 2
I guess the "3 / (5 - _ufoSize)" part is same as "3/UFOsize" part in wiki formula just expressed in different variables. So if we replace it with wiki expression for the sake of simplification it turns into:
(Weapon Accuracy * (1 + 3/UFOsize) + 1) / 2
As you can see, it is almost identical except that "+1" thingy which effectivelly just adds flat 50% toward to hit chance.