Can't quite tell from looking at the source but does DGD's bytecode compiler support common subexpression elimination? Something like: foo[bar[x]] = baz[bar[x]] Does bar[x] get evaluated only once?