((function noise2
  (signature vec2
    (parameters (declare (in) vec4 p))
    (
      (declare () float a)
      (declare () float b)
      (declare () vec2 t)

      (assign (x) (var_ref a) (expression float noise (var_ref p)))
      (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))
      (assign (x) (var_ref t) (var_ref a))
      (assign (y) (var_ref t) (var_ref b))
      (return (var_ref t))
    ))

  (signature vec2
    (parameters (declare (in) vec3 p))
    (
      (declare () float a)
      (declare () float b)
      (declare () vec2 t)

      (assign (x) (var_ref a) (expression float noise (var_ref p)))
      (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))
      (assign (x) (var_ref t) (var_ref a))
      (assign (y) (var_ref t) (var_ref b))
      (return (var_ref t))
    ))

  (signature vec2
    (parameters
      (declare (in ) vec2 p)
    )
    (
      (declare () float a)
      (declare () float b)
      (declare () vec2 t)

      (assign (x) (var_ref a) (expression float noise (var_ref p)))
      (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))
      (assign (x) (var_ref t) (var_ref a))
      (assign (y) (var_ref t) (var_ref b))
      (return (var_ref t))
    ))

  (signature vec2
    (parameters
      (declare (in ) float p)
    )
    (
      (declare () float a)
      (declare () float b)
      (declare () vec2 t)

      (assign (x) (var_ref a) (expression float noise (var_ref p)))
      (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))
      (assign (x) (var_ref t) (var_ref a))
      (assign (y) (var_ref t) (var_ref b))
      (return (var_ref t))
    ))
))
