first impls of EmitUniformBranch and EmitVaryingBranch