it's building a tree for (0:int-(0:int-x)) which later transformations will simplify to x, but having done "the usual arithmetic conversions" balancing and promoting 0s and x as required, if it's char/int/long/vlong.