Correct. With slightly different percentages, I could see the result coming out as 42 rather than 43 due to integer rounding errors. Intermediate results are essentially always whole numbers.

Edit: Looking at the code, I see that the MT is broken. It's only providing a flat 10%, it doesn't scale with the skill. I'll fix that.