The math is weird to avoid exploits.
A simple version would be to give everyone an ECL. Half casters get (1/2 class level, rounded up), Subclass casters get (1/3 class level, rounded up), and full casters get class level. You just add up ECL.
This leads to an "exploit": 1 level splash of Paladin, then Ranger, then Artificer grants 3 full caster levels for a Wizard or Druid or Cleric or other full caster.
Another solution would be to add up your half-caster levels, then halve it and round up. Or 1/2 half caster, 1/3 subclass caster, add that up and round up, then add to full caster levels. This math gets complex to describe (no, really) and matters only in a few cases. So... they went with simpler math.
You can optimize around the simpler math, and for people who are doing complex multiclass builds that optimization becomes their problem instead of having to write elegant rules.