anchor.diff:  
   (v-defun v2! (x) "vec2(~a)" (v-float) v-vec2)
   (v-defun v2! (x y) "vec2(~a, ~a)" (v-float v-float) v-vec2)
  -(v-defun v2! (x) "dvec2(~a)" (v-double) v-dvec2)
  -(v-defun v2! (x y) "dvec2(~a, ~a)" (v-double v-double) v-dvec2)
  -(v-defun v2! (x) "ivec2(~a)" (v-int) v-ivec2)
  -(v-defun v2! (x y) "ivec2(~a, ~a)" (v-int v-int) v-ivec2)
  -(v-defun v2! (x) "uvec2(~a)" (v-uint) v-uvec2)
  -(v-defun v2! (x y) "uvec2(~a, ~a)" (v-uint v-uint) v-uvec2)
   (v-defun v2!double (x) "dvec2(~a)" (v-double) v-dvec2)
   (v-defun v2!double (x y) "dvec2(~a, ~a)" (v-double v-double) v-dvec2)
   (v-defun v2!int (x) "ivec2(~a)" (v-int) v-ivec2)
  
positive.code: (v-defun v3! (x) "vec3(~a)" (v-float) v-vec3)
  (v-defun v3! (x y) "vec3(~a, ~a, 0.0f)" (v-float v-float) v-vec3)
  (v-defun v3! (x y z) "vec3(~a, ~a, ~a)" (v-float v-float v-float) v-vec3)
  (v-defun v3! (x) "dvec3(~a)" (v-double) v-dvec3)
  (v-defun v3! (x y) "dvec3(~a, ~a, 0.0lf)" (v-double v-double) v-dvec3)
  (v-defun v3! (x y z) "dvec3(~a, ~a, ~a)" (v-double v-double v-double) v-dvec3)
  (v-defun v3! (x) "ivec3(~a)" (v-int) v-ivec3)
  (v-defun v3! (x y) "ivec3(~a, ~a, 0)" (v-int v-int) v-ivec3)
  (v-defun v3! (x y z) "ivec3(~a, ~a, ~a)" (v-int v-int v-int) v-ivec3)
  (v-defun v3! (x) "uvec3(~a)" (v-uint) v-uvec3)
  (v-defun v3! (x y) "uvec3(~a, ~a, 0)" (v-uint v-uint) v-uvec3)
  (v-defun v3! (x y z) "uvec3(~a, ~a, ~a)" (v-uint v-uint v-uint) v-uvec3)
  (v-defun v3!double (x) "dvec3(~a)" (v-double) v-dvec3)
  (v-defun v3!double (x y) "dvec3(~a, ~a, 0.0lf)" (v-double v-double) v-dvec3)
  (v-defun v3!double (x y z) "dvec3(~a, ~a, ~a)" (v-double v-double v-double) v-dvec3)
  
negative.code: (v-defun v4! (x y) "vec4(~a, ~a, 0.0f, 0.0f)" (v-float v-float) v-vec4)
  (v-defun v4! (x y z) "vec4(~a, ~a, ~a, 0.0f)" (v-float v-float v-float) v-vec4)
  (v-defun v4! (x y z w) "vec4(~a, ~a, ~a, ~a)" (v-float v-float v-float v-float) v-vec4)
  (v-defun v4!double (x) "dvec4(~a)" (v-double) v-dvec4)
  (v-defun v4!double (x y) "dvec4(~a, ~a, 0.0lf, 0.0lf)" (v-double v-double) v-dvec4)
  (v-defun v4!double (x y z) "dvec4(~a, ~a, ~a, 0.0lf)" (v-double v-double v-double) v-dvec4)
  