Test setup was a cannon system with 20 blocks, total damage = 200, damage instances: 115.2, 62.7, 22.2. Supposed damage versus advanced armor is 25 with armor HP, 50 without, but actual damage was 22 and 48.
This can't be explained by rounding errors, even if rounding down damage numbers before and after factoring in damage reduction.
115 * 0.125 + 62 * 0.125 + 22 * 0.125 = 14 + 7 + 2 = 23
A comparison test with 10 cannon blocks (100 damage, 1 damage instance) yields the correct numbers, 12(.5) and 25 damage.