Exponentation-assignment to property, from larger expr, outputs invalid code

The code x = a.b **= 2 is compiled to var ; \n x = a.b = Math.pow( a.b, 2 ) ), which isn't valid JavaScript (and evaluates a.b twice, which, looking at the relevant code, doesn't seem to be intentional).