diff --git a/builtin_function.cpp b/builtin_function.cpp
index 083fd31..bc04090 100644
--- a/builtin_function.cpp
+++ b/builtin_function.cpp
@@ -1419,6 +1419,85 @@
    "))\n"
 };
 
+static const char *builtins_110_noise_fake = {
+   "((function noise1\n"
+   "   (signature float\n"
+   "     (parameters\n"
+   "       (declare (in) float x))\n"
+   "     ((return (constant float (0)))))\n"
+   "   (signature float\n"
+   "     (parameters\n"
+   "       (declare (in) vec2 x))\n"
+   "     ((return (constant float (0)))))\n"
+   "   (signature float\n"
+   "     (parameters\n"
+   "       (declare (in) vec3 x))\n"
+   "     ((return (constant float (0)))))\n"
+   "   (signature float\n"
+   "     (parameters\n"
+   "       (declare (in) vec4 x))\n"
+   "     ((return (constant float (0)))))\n"
+   " )\n"
+   "\n"
+   " (function noise2\n"
+   "   (signature vec2\n"
+   "     (parameters\n"
+   "       (declare (in) float x))\n"
+   "     ((return (constant vec2 (0 0)))))\n"
+   "   (signature vec2\n"
+   "     (parameters\n"
+   "       (declare (in) vec2 x))\n"
+   "     ((return (constant vec2 (0 0)))))\n"
+   "   (signature vec2\n"
+   "     (parameters\n"
+   "       (declare (in) vec3 x))\n"
+   "     ((return (constant vec2 (0 0)))))\n"
+   "   (signature vec2\n"
+   "     (parameters\n"
+   "       (declare (in) vec4 x))\n"
+   "     ((return (constant vec2 (0 0)))))\n"
+   " )\n"
+   "\n"
+   " (function noise3\n"
+   "   (signature vec3\n"
+   "     (parameters\n"
+   "       (declare (in) float x))\n"
+   "     ((return (constant vec3 (0 0 0)))))\n"
+   "   (signature vec3\n"
+   "     (parameters\n"
+   "       (declare (in) vec2 x))\n"
+   "     ((return (constant vec3 (0 0 0)))))\n"
+   "   (signature vec3\n"
+   "     (parameters\n"
+   "       (declare (in) vec3 x))\n"
+   "     ((return (constant vec3 (0 0 0)))))\n"
+   "   (signature vec3\n"
+   "     (parameters\n"
+   "       (declare (in) vec4 x))\n"
+   "     ((return (constant vec3 (0 0 0)))))\n"
+   " )\n"
+   "\n"
+   " (function noise4\n"
+   "   (signature vec4\n"
+   "     (parameters\n"
+   "       (declare (in) float x))\n"
+   "     ((return (constant vec4 (0 0 0 0)))))\n"
+   "   (signature vec4\n"
+   "     (parameters\n"
+   "       (declare (in) vec2 x))\n"
+   "     ((return (constant vec4 (0 0 0 0)))))\n"
+   "   (signature vec4\n"
+   "     (parameters\n"
+   "       (declare (in) vec3 x))\n"
+   "     ((return (constant vec4 (0 0 0 0)))))\n"
+   "   (signature vec4\n"
+   "     (parameters\n"
+   "       (declare (in) vec4 x))\n"
+   "     ((return (constant vec4 (0 0 0 0)))))\n"
+   " )\n"
+   ")\n"
+};
+
 static const char *builtins_110_normalize = {
    "((function normalize\n"
    "   (signature float\n"
@@ -2293,6 +2372,7 @@
    builtins_110_min,
    builtins_110_mix,
    builtins_110_mod,
+   builtins_110_noise_fake,
    builtins_110_normalize,
    builtins_110_not,
    builtins_110_notEqual,
diff --git a/builtins/110/noise_fake b/builtins/110/noise_fake
new file mode 100644
index 0000000..bcfb17b
--- /dev/null
+++ b/builtins/110/noise_fake
@@ -0,0 +1,76 @@
+((function noise1
+   (signature float
+     (parameters
+       (declare (in) float x))
+     ((return (constant float (0)))))
+   (signature float
+     (parameters
+       (declare (in) vec2 x))
+     ((return (constant float (0)))))
+   (signature float
+     (parameters
+       (declare (in) vec3 x))
+     ((return (constant float (0)))))
+   (signature float
+     (parameters
+       (declare (in) vec4 x))
+     ((return (constant float (0)))))
+ )
+
+ (function noise2
+   (signature vec2
+     (parameters
+       (declare (in) float x))
+     ((return (constant vec2 (0 0)))))
+   (signature vec2
+     (parameters
+       (declare (in) vec2 x))
+     ((return (constant vec2 (0 0)))))
+   (signature vec2
+     (parameters
+       (declare (in) vec3 x))
+     ((return (constant vec2 (0 0)))))
+   (signature vec2
+     (parameters
+       (declare (in) vec4 x))
+     ((return (constant vec2 (0 0)))))
+ )
+
+ (function noise3
+   (signature vec3
+     (parameters
+       (declare (in) float x))
+     ((return (constant vec3 (0 0 0)))))
+   (signature vec3
+     (parameters
+       (declare (in) vec2 x))
+     ((return (constant vec3 (0 0 0)))))
+   (signature vec3
+     (parameters
+       (declare (in) vec3 x))
+     ((return (constant vec3 (0 0 0)))))
+   (signature vec3
+     (parameters
+       (declare (in) vec4 x))
+     ((return (constant vec3 (0 0 0)))))
+ )
+
+ (function noise4
+   (signature vec4
+     (parameters
+       (declare (in) float x))
+     ((return (constant vec4 (0 0 0 0)))))
+   (signature vec4
+     (parameters
+       (declare (in) vec2 x))
+     ((return (constant vec4 (0 0 0 0)))))
+   (signature vec4
+     (parameters
+       (declare (in) vec3 x))
+     ((return (constant vec4 (0 0 0 0)))))
+   (signature vec4
+     (parameters
+       (declare (in) vec4 x))
+     ((return (constant vec4 (0 0 0 0)))))
+ )
+)
