glsl2: Fix asin() implementation.

I'd flipped around the order of two operations in paren-balancing
adventures, and left out the multiply by sign(x) required for negative x.

Fixes:
glsl1-acos(vec4) function
glsl1-asin(vec4) function
glsl1-atan(vec4) function
diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index be7a4f2..967bcd0 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -113,90 +113,98 @@
    "     (parameters\n"
    "       (declare (in) float x))\n"
    "     ((return (expression float *\n"
-   "     	       (expression float -\n"
-   "	        (expression float *\n"
+   "	       (expression float sign (var_ref x))\n"
+   "	       (expression float -\n"
+   "		(expression float *\n"
    "		 (constant float (3.1415926))\n"
    "		 (constant float (0.5)))\n"
-   "		(expression float sqrt\n"
-   "		 (expression float -\n"
-   "		  (constant float (1.0))\n"
-   "		  (expression float abs (var_ref x)))))\n"
-   "     	       (expression float +\n"
-   "     	        (constant float (1.5707288))\n"
-   "	        (expression float *\n"
-   "     	         (expression float abs (var_ref x))\n"
-   "     	         (expression float +\n"
-   "	          (constant float (-0.2121144))\n"
-   "     	          (expression float *\n"
-   "     	           (constant float (0.0742610))\n"
-   "	           (expression float abs (var_ref x))))))))))\n"
+   "		(expression float *\n"
+   "		 (expression float sqrt\n"
+   "		  (expression float -\n"
+   "		   (constant float (1.0))\n"
+   "		   (expression float abs (var_ref x))))\n"
+   "		 (expression float +\n"
+   "		  (constant float (1.5707288))\n"
+   "		  (expression float *\n"
+   "		   (expression float abs (var_ref x))\n"
+   "		   (expression float +\n"
+   "		    (constant float (-0.2121144))\n"
+   "		    (expression float *\n"
+   "		     (constant float (0.0742610))\n"
+   "		     (expression float abs (var_ref x))))))))))))\n"
    "\n"
    "   (signature vec2\n"
    "     (parameters\n"
    "       (declare (in) vec2 x))\n"
    "     ((return (expression vec2 *\n"
-   "     	       (expression float -\n"
-   "	        (expression float *\n"
+   "	       (expression vec2 sign (var_ref x))\n"
+   "	       (expression vec2 -\n"
+   "		(expression float *\n"
    "		 (constant float (3.1415926))\n"
    "		 (constant float (0.5)))\n"
-   "		(expression vec2 sqrt\n"
-   "		 (expression vec2 -\n"
-   "		  (constant float (1.0))\n"
-   "		  (expression vec2 abs (var_ref x)))))\n"
-   "     	       (expression vec2 +\n"
-   "     	        (constant float (1.5707288))\n"
-   "	        (expression vec2 *\n"
-   "     	         (expression vec2 abs (var_ref x))\n"
-   "     	         (expression vec2 +\n"
-   "	          (constant float (-0.2121144))\n"
-   "     	          (expression vec2 *\n"
-   "     	           (constant float (0.0742610))\n"
-   "	           (expression vec2 abs (var_ref x))))))))))\n"
+   "		(expression vec2 *\n"
+   "		 (expression vec2 sqrt\n"
+   "		  (expression vec2 -\n"
+   "		   (constant float (1.0))\n"
+   "		   (expression vec2 abs (var_ref x))))\n"
+   "		 (expression vec2 +\n"
+   "		  (constant float (1.5707288))\n"
+   "		  (expression vec2 *\n"
+   "		   (expression vec2 abs (var_ref x))\n"
+   "		   (expression vec2 +\n"
+   "		    (constant float (-0.2121144))\n"
+   "		    (expression vec2 *\n"
+   "		     (constant float (0.0742610))\n"
+   "		     (expression vec2 abs (var_ref x))))))))))))\n"
    "\n"
    "   (signature vec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 x))\n"
    "     ((return (expression vec3 *\n"
-   "     	       (expression vec3 -\n"
-   "	        (expression float *\n"
+   "	       (expression vec3 sign (var_ref x))\n"
+   "	       (expression vec3 -\n"
+   "		(expression float *\n"
    "		 (constant float (3.1415926))\n"
    "		 (constant float (0.5)))\n"
-   "		(expression vec3 sqrt\n"
-   "		 (expression vec3 -\n"
-   "		  (constant float (1.0))\n"
-   "		  (expression vec3 abs (var_ref x)))))\n"
-   "     	       (expression vec3 +\n"
-   "     	        (constant float (1.5707288))\n"
-   "	        (expression vec3 *\n"
-   "     	         (expression vec3 abs (var_ref x))\n"
-   "     	         (expression vec3 +\n"
-   "	          (constant float (-0.2121144))\n"
-   "     	          (expression vec3 *\n"
-   "     	           (constant float (0.0742610))\n"
-   "	           (expression vec3 abs (var_ref x))))))))))\n"
+   "		(expression vec3 *\n"
+   "		 (expression vec3 sqrt\n"
+   "		  (expression vec3 -\n"
+   "		   (constant float (1.0))\n"
+   "		   (expression vec3 abs (var_ref x))))\n"
+   "		 (expression vec3 +\n"
+   "		  (constant float (1.5707288))\n"
+   "		  (expression vec3 *\n"
+   "		   (expression vec3 abs (var_ref x))\n"
+   "		   (expression vec3 +\n"
+   "		    (constant float (-0.2121144))\n"
+   "		    (expression vec3 *\n"
+   "		     (constant float (0.0742610))\n"
+   "		     (expression vec3 abs (var_ref x))))))))))))\n"
    "\n"
    "   (signature vec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 x))\n"
    "     ((return (expression vec4 *\n"
-   "     	       (expression vec4 -\n"
-   "	        (expression float *\n"
+   "	       (expression vec4 sign (var_ref x))\n"
+   "	       (expression vec4 -\n"
+   "		(expression float *\n"
    "		 (constant float (3.1415926))\n"
    "		 (constant float (0.5)))\n"
-   "		(expression vec4 sqrt\n"
-   "		 (expression vec4 -\n"
-   "		  (constant float (1.0))\n"
-   "		  (expression vec4 abs (var_ref x)))))\n"
-   "     	       (expression vec4 +\n"
-   "     	        (constant float (1.5707288))\n"
-   "	        (expression vec4 *\n"
-   "     	         (expression vec4 abs (var_ref x))\n"
-   "     	         (expression vec4 +\n"
-   "	          (constant float (-0.2121144))\n"
-   "     	          (expression vec4 *\n"
-   "     	           (constant float (0.0742610))\n"
-   "	           (expression vec4 abs (var_ref x))))))))))\n"
-   ")\n"
+   "		(expression vec4 *\n"
+   "		 (expression vec4 sqrt\n"
+   "		  (expression vec4 -\n"
+   "		   (constant float (1.0))\n"
+   "		   (expression vec4 abs (var_ref x))))\n"
+   "		 (expression vec4 +\n"
+   "		  (constant float (1.5707288))\n"
+   "		  (expression vec4 *\n"
+   "		   (expression vec4 abs (var_ref x))\n"
+   "		   (expression vec4 +\n"
+   "		    (constant float (-0.2121144))\n"
+   "		    (expression vec4 *\n"
+   "		     (constant float (0.0742610))\n"
+   "		     (expression vec4 abs (var_ref x)))))))))))\n"
+   "))\n"
    "\n"
    " (function acos\n"
    "   (signature float\n"