diff --git a/grudge/symbolic/primitives.py b/grudge/symbolic/primitives.py
index 5a1795328a0a1daf458aa6138b8fd76489c8337d..3eb69dac17352c8659534706dce3577149550e05 100644
--- a/grudge/symbolic/primitives.py
+++ b/grudge/symbolic/primitives.py
@@ -128,6 +128,12 @@ class CFunction(pymbolic.primitives.Variable):
 
     mapper_method = "map_c_function"
 
+
+sqrt = CFunction("sqrt")
+exp = CFunction("exp")
+sin = CFunction("sin")
+cos = CFunction("cos")
+
 # }}}
 
 
@@ -394,7 +400,7 @@ def pseudoscalar(ambient_dim, dim=None, where=None, quadrature_tag=None):
 
 def area_element(ambient_dim, dim=None, where=None, quadrature_tag=None):
     return cse(
-            CFunction("sqrt")(
+            sqrt(
                 pseudoscalar(ambient_dim, dim, where, quadrature_tag=quadrature_tag)
                 .norm_squared()),
             "area_element", cse_scope.DISCRETIZATION)