`if (exp->type->isreal())` ?