add fxsub1 support
refactor: emit_primitive

it now call emit_expression for nested calls