sem pre compile