diff --git a/python/hemisphere-joint-demo/hemisphere_joint_demo/sympy_to_code.py b/python/hemisphere-joint-demo/hemisphere_joint_demo/sympy_to_code.py
index 9dfe83e7bc5342fd7526004654dce5552b0cd9fc..d6ada0e9e1e8e53b56dcf8370ea35f9b31862eb3 100644
--- a/python/hemisphere-joint-demo/hemisphere_joint_demo/sympy_to_code.py
+++ b/python/hemisphere-joint-demo/hemisphere_joint_demo/sympy_to_code.py
@@ -253,16 +253,17 @@ def expr_to_cpp(
         if isinstance(expr, sp.Symbol):
             # Must be part of local variables.
             assert expr in cpp.function_args
+            return str(expr)
 
         elif isinstance(expr, sp.Number):
             # Will be turned into a literal.
-            pass
+            # The number can also be something like (1/2), where "1 / 2" would be 0 in C++.
+            # So we pre-evaluate these constants in Python, and pass the result literal to C++.
+            return str(eval(str(expr)))
 
         else:
             raise TypeError(f"Got expr {expr} of type {type(expr)}")
 
-        return str(expr)
-
     else:
         # Non-leaf
         print(f"{indent}Node: {expr}")