@Override
public Expression translateToExpression(IRBodyBuilder builder,
TranslationContext context, FunctionCall call) {
Temp result = builder.newTemp();
IRLabel firstFalse = builder.newLabel(); /* first is false, need to check second */
IRLabel firstNA = builder.newLabel(); /* first is NA, need to check second */
IRLabel test2Label = builder.newLabel(); /* conduct second test */
IRLabel trueLabel = builder.newLabel();
IRLabel naLabel = builder.newLabel();
IRLabel finishLabel = builder.newLabel();
// check the first condition
SimpleExpression condition1 = builder.translateSimpleExpression(context, call.getArgument(0));
builder.addStatement(new IfStatement(condition1, trueLabel, firstFalse, firstNA));