For the following c code,

int aa(int a)
{
        int b = a + 1;
        b += 3;
        b += 2;
        return b;
}

the icode list is (dumppack)

proc _aa
iTemp1 = a  + 0x1
iTemp4  := iTemp1
iTemp2 = iTemp4 + 0x3
iTemp0 := iTemp2
iTemp3 = iTemp0  + 0x2
iTemp5 := iTemp3
ret iTemp5

Why not to direct " + 0x5" ? Or it is postponed to each backend ?