diff --git a/hercules_cg/src/gpu.rs b/hercules_cg/src/gpu.rs
index 2151dc0dfd53526c8c39fb755912bfcc63cb6a08..23e58c14633141a8ec42c8bfdcf1eb9aaeed0554 100644
--- a/hercules_cg/src/gpu.rs
+++ b/hercules_cg/src/gpu.rs
@@ -470,6 +470,12 @@ namespace cg = cooperative_groups;
                 DynamicConstant::Rem(left, right) => {
                     write!(w, "\t{} = dc{} % dc{};\n", dc_val, left.idx(), right.idx())?
                 }
+                DynamicConstant::Min(left, right) => {
+                    write!(w, "\t{} = min(dc{}, dc{});\n", dc_val, left.idx(), right.idx())?
+                }
+                DynamicConstant::Max(left, right) => {
+                    write!(w, "\t{} = max(dc{}, dc{});\n", dc_val, left.idx(), right.idx())?
+                }
             }
         }
         Ok(())
@@ -1880,8 +1886,8 @@ extern \"C\" {} {}(", if ret_primitive { ret_type.clone() } else { "void".to_str
                 _ => "max",
             },
             Intrinsic::Min => match ty {
-                Type::Float32 => "__fminf",
-                Type::Float64 => "__fmin",
+                Type::Float32 => "fminf",
+                Type::Float64 => "fmin",
                 ty if ty.is_signed() => "smin",
                 ty if ty.is_unsigned() => "umin",
                 _ => "min",