Okay, so it’s pretty clear adding all bonuses doesn’t work.
Could this link help? They’re talking about the same calculation there it seems. And they’re using not truncate, nor round, but round up.
This should give the correct values for all your examples:
Example 1:
8 × (1-0,08)(1-0,01)(1-0,042) = 6,994944 → rounded up 7
Example 2:
16 × (1-0,08)(1-0,01)(1-0,042) = 13,989888 → rounded up 14
Example 3:
7 × (1-0,09)(1-0,01)(1-0,042) = 6,0414354 → rounded up 7
Example 4:
473141 × (1-0,1)(1-0.042)(1-0.01) = 403862,748498 → rounded up 403863