more work on EmitVaryingBranch