1((function asinh
2   (signature float
3     (parameters
4       (declare (in) float x))
5     ((return (expression float *
6               (expression float sign (var_ref x))
7               (expression float log
8                (expression float +
9                 (expression float abs (var_ref x))
10                 (expression float sqrt
11                  (expression float +
12                   (expression float * (var_ref x) (var_ref x))
13                   (constant float (1))))))))))
14
15   (signature vec2
16     (parameters
17       (declare (in) vec2 x))
18     ((return (expression vec2 *
19               (expression vec2 sign (var_ref x))
20               (expression vec2 log
21                (expression vec2 +
22                 (expression vec2 abs (var_ref x))
23                 (expression vec2 sqrt
24                  (expression vec2 +
25                   (expression vec2 * (var_ref x) (var_ref x))
26                   (constant float (1))))))))))
27
28   (signature vec3
29     (parameters
30       (declare (in) vec3 x))
31     ((return (expression vec3 *
32               (expression vec3 sign (var_ref x))
33               (expression vec3 log
34                (expression vec3 +
35                 (expression vec3 abs (var_ref x))
36                 (expression vec3 sqrt
37                  (expression vec3 +
38                   (expression vec3 * (var_ref x) (var_ref x))
39                   (constant float (1))))))))))
40
41   (signature vec4
42     (parameters
43       (declare (in) vec4 x))
44     ((return (expression vec4 *
45               (expression vec4 sign (var_ref x))
46               (expression vec4 log
47                (expression vec4 +
48                 (expression vec4 abs (var_ref x))
49                 (expression vec4 sqrt
50                  (expression vec4 +
51                   (expression vec4 * (var_ref x) (var_ref x))
52                   (constant float (1))))))))))
53))
54