Add primitives (ARS, SUPERELL, HALF)

Please pull this code in your repo.

This is work done as part of GSOC.