hlsl.overload.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: foo1(d1;b1; (temp void)
0:2    Function Parameters: 
0:2      'a' (in double)
0:2      'b' (in bool)
0:3  Function Definition: foo1(d1;u1; (temp void)
0:3    Function Parameters: 
0:3      'a' (in double)
0:3      'b' (in uint)
0:4  Function Definition: foo1(d1;i1; (temp void)
0:4    Function Parameters: 
0:4      'a' (in double)
0:4      'b' (in int)
0:5  Function Definition: foo1(d1;f1; (temp void)
0:5    Function Parameters: 
0:5      'a' (in double)
0:5      'b' (in float)
0:6  Function Definition: foo1(d1;d1; (temp void)
0:6    Function Parameters: 
0:6      'a' (in double)
0:6      'b' (in double)
0:9  Function Definition: foo2(i1;b1; (temp void)
0:9    Function Parameters: 
0:9      'a' (in int)
0:9      'b' (in bool)
0:10  Function Definition: foo2(i1;u1; (temp void)
0:10    Function Parameters: 
0:10      'a' (in int)
0:10      'b' (in uint)
0:11  Function Definition: foo2(i1;i1; (temp void)
0:11    Function Parameters: 
0:11      'a' (in int)
0:11      'b' (in int)
0:12  Function Definition: foo2(i1;f1; (temp void)
0:12    Function Parameters: 
0:12      'a' (in int)
0:12      'b' (in float)
0:13  Function Definition: foo2(i1;d1; (temp void)
0:13    Function Parameters: 
0:13      'a' (in int)
0:13      'b' (in double)
0:16  Function Definition: foo3(b1; (temp void)
0:16    Function Parameters: 
0:16      'b' (in bool)
0:17  Function Definition: foo4(u1; (temp void)
0:17    Function Parameters: 
0:17      'b' (in uint)
0:18  Function Definition: foo5(i1; (temp void)
0:18    Function Parameters: 
0:18      'b' (in int)
0:19  Function Definition: foo6(f1; (temp void)
0:19    Function Parameters: 
0:19      'b' (in float)
0:20  Function Definition: foo7(d1; (temp void)
0:20    Function Parameters: 
0:20      'b' (in double)
0:23  Function Definition: foo8(f1; (temp void)
0:23    Function Parameters: 
0:23      '' (in float)
0:24  Function Definition: foo8(d1; (temp void)
0:24    Function Parameters: 
0:24      '' (in double)
0:25  Function Definition: foo9(i1; (temp void)
0:25    Function Parameters: 
0:25      '' (in int)
0:26  Function Definition: foo9(u1; (temp void)
0:26    Function Parameters: 
0:26      '' (in uint)
0:27  Function Definition: foo10(b1; (temp void)
0:27    Function Parameters: 
0:27      '' (in bool)
0:28  Function Definition: foo10(i1; (temp void)
0:28    Function Parameters: 
0:28      '' (in int)
0:31  Function Definition: foo11(vf3; (temp void)
0:31    Function Parameters: 
0:31      '' (in 3-component vector of float)
0:32  Function Definition: foo11(d1; (temp void)
0:32    Function Parameters: 
0:32      '' (in double)
0:33  Function Definition: foo11(vi3; (temp void)
0:33    Function Parameters: 
0:33      '' (in 3-component vector of int)
0:34  Function Definition: foo11(u1; (temp void)
0:34    Function Parameters: 
0:34      '' (in uint)
0:35  Function Definition: foo12(vf1; (temp void)
0:35    Function Parameters: 
0:35      '' (in 1-component vector of float)
0:36  Function Definition: foo12(vd3; (temp void)
0:36    Function Parameters: 
0:36      '' (in 3-component vector of double)
0:37  Function Definition: foo16(u1; (temp void)
0:37    Function Parameters: 
0:37      '' (in uint)
0:38  Function Definition: foo16(vu2; (temp void)
0:38    Function Parameters: 
0:38      '' (in 2-component vector of uint)
0:41  Function Definition: foo13(vf3; (temp void)
0:41    Function Parameters: 
0:41      '' (in 3-component vector of float)
0:42  Function Definition: foo14(vi1; (temp void)
0:42    Function Parameters: 
0:42      '' (in 1-component vector of int)
0:43  Function Definition: foo15(vb1; (temp void)
0:43    Function Parameters: 
0:43      '' (in 1-component vector of bool)
0:46  Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:46    Function Parameters: 
0:46      'input' (layout(location=0 ) in 4-component vector of float)
0:?     Sequence
0:53      Function Call: foo1(d1;b1; (temp void)
0:53        'd' (temp double)
0:53        'b' (temp bool)
0:54      Function Call: foo1(d1;d1; (temp void)
0:54        'd' (temp double)
0:54        'd' (temp double)
0:55      Function Call: foo1(d1;u1; (temp void)
0:55        'd' (temp double)
0:55        'u' (temp uint)
0:56      Function Call: foo1(d1;i1; (temp void)
0:56        'd' (temp double)
0:56        'i' (temp int)
0:57      Function Call: foo1(d1;f1; (temp void)
0:57        'd' (temp double)
0:57        'f' (temp float)
0:59      Function Call: foo1(d1;b1; (temp void)
0:59        Convert float to double (temp double)
0:59          'f' (temp float)
0:59        'b' (temp bool)
0:60      Function Call: foo1(d1;d1; (temp void)
0:60        Convert float to double (temp double)
0:60          'f' (temp float)
0:60        'd' (temp double)
0:61      Function Call: foo1(d1;u1; (temp void)
0:61        Convert float to double (temp double)
0:61          'f' (temp float)
0:61        'u' (temp uint)
0:62      Function Call: foo1(d1;i1; (temp void)
0:62        Convert float to double (temp double)
0:62          'f' (temp float)
0:62        'i' (temp int)
0:63      Function Call: foo1(d1;f1; (temp void)
0:63        Convert float to double (temp double)
0:63          'f' (temp float)
0:63        'f' (temp float)
0:65      Function Call: foo1(d1;b1; (temp void)
0:65        Convert uint to double (temp double)
0:65          'u' (temp uint)
0:65        'b' (temp bool)
0:66      Function Call: foo1(d1;d1; (temp void)
0:66        Convert uint to double (temp double)
0:66          'u' (temp uint)
0:66        'd' (temp double)
0:67      Function Call: foo1(d1;u1; (temp void)
0:67        Convert uint to double (temp double)
0:67          'u' (temp uint)
0:67        'u' (temp uint)
0:68      Function Call: foo1(d1;i1; (temp void)
0:68        Convert uint to double (temp double)
0:68          'u' (temp uint)
0:68        'i' (temp int)
0:69      Function Call: foo1(d1;f1; (temp void)
0:69        Convert uint to double (temp double)
0:69          'u' (temp uint)
0:69        'f' (temp float)
0:71      Function Call: foo1(d1;b1; (temp void)
0:71        Convert int to double (temp double)
0:71          'i' (temp int)
0:71        'b' (temp bool)
0:72      Function Call: foo1(d1;d1; (temp void)
0:72        Convert int to double (temp double)
0:72          'i' (temp int)
0:72        'd' (temp double)
0:73      Function Call: foo1(d1;u1; (temp void)
0:73        Convert int to double (temp double)
0:73          'i' (temp int)
0:73        'u' (temp uint)
0:74      Function Call: foo1(d1;i1; (temp void)
0:74        Convert int to double (temp double)
0:74          'i' (temp int)
0:74        'i' (temp int)
0:75      Function Call: foo1(d1;f1; (temp void)
0:75        Convert int to double (temp double)
0:75          'i' (temp int)
0:75        'f' (temp float)
0:77      Function Call: foo2(i1;b1; (temp void)
0:77        Convert uint to int (temp int)
0:77          'u' (temp uint)
0:77        'b' (temp bool)
0:78      Function Call: foo2(i1;d1; (temp void)
0:78        Convert uint to int (temp int)
0:78          'u' (temp uint)
0:78        'd' (temp double)
0:79      Function Call: foo2(i1;u1; (temp void)
0:79        Convert uint to int (temp int)
0:79          'u' (temp uint)
0:79        'u' (temp uint)
0:80      Function Call: foo2(i1;i1; (temp void)
0:80        Convert uint to int (temp int)
0:80          'u' (temp uint)
0:80        'i' (temp int)
0:81      Function Call: foo2(i1;f1; (temp void)
0:81        Convert uint to int (temp int)
0:81          'u' (temp uint)
0:81        'f' (temp float)
0:83      Function Call: foo2(i1;b1; (temp void)
0:83        'i' (temp int)
0:83        'b' (temp bool)
0:84      Function Call: foo2(i1;d1; (temp void)
0:84        'i' (temp int)
0:84        'd' (temp double)
0:85      Function Call: foo2(i1;u1; (temp void)
0:85        'i' (temp int)
0:85        'u' (temp uint)
0:86      Function Call: foo2(i1;i1; (temp void)
0:86        'i' (temp int)
0:86        'i' (temp int)
0:87      Function Call: foo2(i1;f1; (temp void)
0:87        'i' (temp int)
0:87        'f' (temp float)
0:89      Function Call: foo3(b1; (temp void)
0:89        'b' (temp bool)
0:90      Function Call: foo3(b1; (temp void)
0:90        Convert double to bool (temp bool)
0:90          'd' (temp double)
0:91      Function Call: foo3(b1; (temp void)
0:91        Convert uint to bool (temp bool)
0:91          'u' (temp uint)
0:92      Function Call: foo3(b1; (temp void)
0:92        Convert int to bool (temp bool)
0:92          'i' (temp int)
0:93      Function Call: foo3(b1; (temp void)
0:93        Convert float to bool (temp bool)
0:93          'f' (temp float)
0:95      Function Call: foo4(u1; (temp void)
0:95        Convert bool to uint (temp uint)
0:95          'b' (temp bool)
0:96      Function Call: foo4(u1; (temp void)
0:96        Convert double to uint (temp uint)
0:96          'd' (temp double)
0:97      Function Call: foo4(u1; (temp void)
0:97        'u' (temp uint)
0:98      Function Call: foo4(u1; (temp void)
0:98        Convert int to uint (temp uint)
0:98          'i' (temp int)
0:99      Function Call: foo4(u1; (temp void)
0:99        Convert float to uint (temp uint)
0:99          'f' (temp float)
0:101      Function Call: foo5(i1; (temp void)
0:101        Convert bool to int (temp int)
0:101          'b' (temp bool)
0:102      Function Call: foo5(i1; (temp void)
0:102        Convert double to int (temp int)
0:102          'd' (temp double)
0:103      Function Call: foo5(i1; (temp void)
0:103        Convert uint to int (temp int)
0:103          'u' (temp uint)
0:104      Function Call: foo5(i1; (temp void)
0:104        'i' (temp int)
0:105      Function Call: foo5(i1; (temp void)
0:105        Convert float to int (temp int)
0:105          'f' (temp float)
0:107      Function Call: foo6(f1; (temp void)
0:107        Convert bool to float (temp float)
0:107          'b' (temp bool)
0:108      Function Call: foo6(f1; (temp void)
0:108        Convert double to float (temp float)
0:108          'd' (temp double)
0:109      Function Call: foo6(f1; (temp void)
0:109        Convert uint to float (temp float)
0:109          'u' (temp uint)
0:110      Function Call: foo6(f1; (temp void)
0:110        Convert int to float (temp float)
0:110          'i' (temp int)
0:111      Function Call: foo6(f1; (temp void)
0:111        'f' (temp float)
0:113      Function Call: foo7(d1; (temp void)
0:113        Convert bool to double (temp double)
0:113          'b' (temp bool)
0:114      Function Call: foo7(d1; (temp void)
0:114        'd' (temp double)
0:115      Function Call: foo7(d1; (temp void)
0:115        Convert uint to double (temp double)
0:115          'u' (temp uint)
0:116      Function Call: foo7(d1; (temp void)
0:116        Convert int to double (temp double)
0:116          'i' (temp int)
0:117      Function Call: foo7(d1; (temp void)
0:117        Convert float to double (temp double)
0:117          'f' (temp float)
0:119      Function Call: foo8(f1; (temp void)
0:119        Convert bool to float (temp float)
0:119          'b' (temp bool)
0:120      Function Call: foo8(f1; (temp void)
0:120        Convert uint to float (temp float)
0:120          'u' (temp uint)
0:121      Function Call: foo8(f1; (temp void)
0:121        Convert int to float (temp float)
0:121          'i' (temp int)
0:123      Function Call: foo9(i1; (temp void)
0:123        Convert bool to int (temp int)
0:123          'b' (temp bool)
0:124      Function Call: foo9(u1; (temp void)
0:124        Convert float to uint (temp uint)
0:124          'f' (temp float)
0:125      Function Call: foo9(u1; (temp void)
0:125        Convert double to uint (temp uint)
0:125          'd' (temp double)
0:127      Function Call: foo10(i1; (temp void)
0:127        Convert uint to int (temp int)
0:127          'u' (temp uint)
0:128      Function Call: foo10(i1; (temp void)
0:128        Convert float to int (temp int)
0:128          'f' (temp float)
0:129      Function Call: foo10(i1; (temp void)
0:129        Convert double to int (temp int)
0:129          'd' (temp double)
0:131      Function Call: foo11(u1; (temp void)
0:131        Convert bool to uint (temp uint)
0:131          'b' (temp bool)
0:132      Function Call: foo11(d1; (temp void)
0:132        Convert float to double (temp double)
0:132          'f' (temp float)
0:133      Function Call: foo12(vd3; (temp void)
0:133        Convert float to double (temp 3-component vector of double)
0:133          Construct vec3 (temp 3-component vector of float)
0:133            'f' (temp float)
0:134      Function Call: foo16(vu2; (temp void)
0:?         Convert int to uint (temp 2-component vector of uint)
0:?           Construct ivec2 (temp 2-component vector of int)
0:134            'i' (temp int)
0:134            'i' (temp int)
0:136      Function Call: foo13(vf3; (temp void)
0:136        Construct vec3 (in 3-component vector of float)
0:136          'f' (temp float)
0:137      Function Call: foo14(vi1; (temp void)
0:137        Construct int (in 1-component vector of int)
0:137          Construct ivec4 (temp 4-component vector of int)
0:137            'i' (temp int)
0:138      Function Call: foo15(vb1; (temp void)
0:138        Construct bool (in 1-component vector of bool)
0:138          'b' (temp bool)
0:139      Function Call: foo15(vb1; (temp void)
0:139        Construct bool (in 1-component vector of bool)
0:139          Construct bvec3 (temp 3-component vector of bool)
0:139            'b' (temp bool)
0:141      Sequence
0:141        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:141          'input' (layout(location=0 ) in 4-component vector of float)
0:141        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     'input' (layout(location=0 ) in 4-component vector of float)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: foo1(d1;b1; (temp void)
0:2    Function Parameters: 
0:2      'a' (in double)
0:2      'b' (in bool)
0:3  Function Definition: foo1(d1;u1; (temp void)
0:3    Function Parameters: 
0:3      'a' (in double)
0:3      'b' (in uint)
0:4  Function Definition: foo1(d1;i1; (temp void)
0:4    Function Parameters: 
0:4      'a' (in double)
0:4      'b' (in int)
0:5  Function Definition: foo1(d1;f1; (temp void)
0:5    Function Parameters: 
0:5      'a' (in double)
0:5      'b' (in float)
0:6  Function Definition: foo1(d1;d1; (temp void)
0:6    Function Parameters: 
0:6      'a' (in double)
0:6      'b' (in double)
0:9  Function Definition: foo2(i1;b1; (temp void)
0:9    Function Parameters: 
0:9      'a' (in int)
0:9      'b' (in bool)
0:10  Function Definition: foo2(i1;u1; (temp void)
0:10    Function Parameters: 
0:10      'a' (in int)
0:10      'b' (in uint)
0:11  Function Definition: foo2(i1;i1; (temp void)
0:11    Function Parameters: 
0:11      'a' (in int)
0:11      'b' (in int)
0:12  Function Definition: foo2(i1;f1; (temp void)
0:12    Function Parameters: 
0:12      'a' (in int)
0:12      'b' (in float)
0:13  Function Definition: foo2(i1;d1; (temp void)
0:13    Function Parameters: 
0:13      'a' (in int)
0:13      'b' (in double)
0:16  Function Definition: foo3(b1; (temp void)
0:16    Function Parameters: 
0:16      'b' (in bool)
0:17  Function Definition: foo4(u1; (temp void)
0:17    Function Parameters: 
0:17      'b' (in uint)
0:18  Function Definition: foo5(i1; (temp void)
0:18    Function Parameters: 
0:18      'b' (in int)
0:19  Function Definition: foo6(f1; (temp void)
0:19    Function Parameters: 
0:19      'b' (in float)
0:20  Function Definition: foo7(d1; (temp void)
0:20    Function Parameters: 
0:20      'b' (in double)
0:23  Function Definition: foo8(f1; (temp void)
0:23    Function Parameters: 
0:23      '' (in float)
0:24  Function Definition: foo8(d1; (temp void)
0:24    Function Parameters: 
0:24      '' (in double)
0:25  Function Definition: foo9(i1; (temp void)
0:25    Function Parameters: 
0:25      '' (in int)
0:26  Function Definition: foo9(u1; (temp void)
0:26    Function Parameters: 
0:26      '' (in uint)
0:27  Function Definition: foo10(b1; (temp void)
0:27    Function Parameters: 
0:27      '' (in bool)
0:28  Function Definition: foo10(i1; (temp void)
0:28    Function Parameters: 
0:28      '' (in int)
0:31  Function Definition: foo11(vf3; (temp void)
0:31    Function Parameters: 
0:31      '' (in 3-component vector of float)
0:32  Function Definition: foo11(d1; (temp void)
0:32    Function Parameters: 
0:32      '' (in double)
0:33  Function Definition: foo11(vi3; (temp void)
0:33    Function Parameters: 
0:33      '' (in 3-component vector of int)
0:34  Function Definition: foo11(u1; (temp void)
0:34    Function Parameters: 
0:34      '' (in uint)
0:35  Function Definition: foo12(vf1; (temp void)
0:35    Function Parameters: 
0:35      '' (in 1-component vector of float)
0:36  Function Definition: foo12(vd3; (temp void)
0:36    Function Parameters: 
0:36      '' (in 3-component vector of double)
0:37  Function Definition: foo16(u1; (temp void)
0:37    Function Parameters: 
0:37      '' (in uint)
0:38  Function Definition: foo16(vu2; (temp void)
0:38    Function Parameters: 
0:38      '' (in 2-component vector of uint)
0:41  Function Definition: foo13(vf3; (temp void)
0:41    Function Parameters: 
0:41      '' (in 3-component vector of float)
0:42  Function Definition: foo14(vi1; (temp void)
0:42    Function Parameters: 
0:42      '' (in 1-component vector of int)
0:43  Function Definition: foo15(vb1; (temp void)
0:43    Function Parameters: 
0:43      '' (in 1-component vector of bool)
0:46  Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:46    Function Parameters: 
0:46      'input' (layout(location=0 ) in 4-component vector of float)
0:?     Sequence
0:53      Function Call: foo1(d1;b1; (temp void)
0:53        'd' (temp double)
0:53        'b' (temp bool)
0:54      Function Call: foo1(d1;d1; (temp void)
0:54        'd' (temp double)
0:54        'd' (temp double)
0:55      Function Call: foo1(d1;u1; (temp void)
0:55        'd' (temp double)
0:55        'u' (temp uint)
0:56      Function Call: foo1(d1;i1; (temp void)
0:56        'd' (temp double)
0:56        'i' (temp int)
0:57      Function Call: foo1(d1;f1; (temp void)
0:57        'd' (temp double)
0:57        'f' (temp float)
0:59      Function Call: foo1(d1;b1; (temp void)
0:59        Convert float to double (temp double)
0:59          'f' (temp float)
0:59        'b' (temp bool)
0:60      Function Call: foo1(d1;d1; (temp void)
0:60        Convert float to double (temp double)
0:60          'f' (temp float)
0:60        'd' (temp double)
0:61      Function Call: foo1(d1;u1; (temp void)
0:61        Convert float to double (temp double)
0:61          'f' (temp float)
0:61        'u' (temp uint)
0:62      Function Call: foo1(d1;i1; (temp void)
0:62        Convert float to double (temp double)
0:62          'f' (temp float)
0:62        'i' (temp int)
0:63      Function Call: foo1(d1;f1; (temp void)
0:63        Convert float to double (temp double)
0:63          'f' (temp float)
0:63        'f' (temp float)
0:65      Function Call: foo1(d1;b1; (temp void)
0:65        Convert uint to double (temp double)
0:65          'u' (temp uint)
0:65        'b' (temp bool)
0:66      Function Call: foo1(d1;d1; (temp void)
0:66        Convert uint to double (temp double)
0:66          'u' (temp uint)
0:66        'd' (temp double)
0:67      Function Call: foo1(d1;u1; (temp void)
0:67        Convert uint to double (temp double)
0:67          'u' (temp uint)
0:67        'u' (temp uint)
0:68      Function Call: foo1(d1;i1; (temp void)
0:68        Convert uint to double (temp double)
0:68          'u' (temp uint)
0:68        'i' (temp int)
0:69      Function Call: foo1(d1;f1; (temp void)
0:69        Convert uint to double (temp double)
0:69          'u' (temp uint)
0:69        'f' (temp float)
0:71      Function Call: foo1(d1;b1; (temp void)
0:71        Convert int to double (temp double)
0:71          'i' (temp int)
0:71        'b' (temp bool)
0:72      Function Call: foo1(d1;d1; (temp void)
0:72        Convert int to double (temp double)
0:72          'i' (temp int)
0:72        'd' (temp double)
0:73      Function Call: foo1(d1;u1; (temp void)
0:73        Convert int to double (temp double)
0:73          'i' (temp int)
0:73        'u' (temp uint)
0:74      Function Call: foo1(d1;i1; (temp void)
0:74        Convert int to double (temp double)
0:74          'i' (temp int)
0:74        'i' (temp int)
0:75      Function Call: foo1(d1;f1; (temp void)
0:75        Convert int to double (temp double)
0:75          'i' (temp int)
0:75        'f' (temp float)
0:77      Function Call: foo2(i1;b1; (temp void)
0:77        Convert uint to int (temp int)
0:77          'u' (temp uint)
0:77        'b' (temp bool)
0:78      Function Call: foo2(i1;d1; (temp void)
0:78        Convert uint to int (temp int)
0:78          'u' (temp uint)
0:78        'd' (temp double)
0:79      Function Call: foo2(i1;u1; (temp void)
0:79        Convert uint to int (temp int)
0:79          'u' (temp uint)
0:79        'u' (temp uint)
0:80      Function Call: foo2(i1;i1; (temp void)
0:80        Convert uint to int (temp int)
0:80          'u' (temp uint)
0:80        'i' (temp int)
0:81      Function Call: foo2(i1;f1; (temp void)
0:81        Convert uint to int (temp int)
0:81          'u' (temp uint)
0:81        'f' (temp float)
0:83      Function Call: foo2(i1;b1; (temp void)
0:83        'i' (temp int)
0:83        'b' (temp bool)
0:84      Function Call: foo2(i1;d1; (temp void)
0:84        'i' (temp int)
0:84        'd' (temp double)
0:85      Function Call: foo2(i1;u1; (temp void)
0:85        'i' (temp int)
0:85        'u' (temp uint)
0:86      Function Call: foo2(i1;i1; (temp void)
0:86        'i' (temp int)
0:86        'i' (temp int)
0:87      Function Call: foo2(i1;f1; (temp void)
0:87        'i' (temp int)
0:87        'f' (temp float)
0:89      Function Call: foo3(b1; (temp void)
0:89        'b' (temp bool)
0:90      Function Call: foo3(b1; (temp void)
0:90        Convert double to bool (temp bool)
0:90          'd' (temp double)
0:91      Function Call: foo3(b1; (temp void)
0:91        Convert uint to bool (temp bool)
0:91          'u' (temp uint)
0:92      Function Call: foo3(b1; (temp void)
0:92        Convert int to bool (temp bool)
0:92          'i' (temp int)
0:93      Function Call: foo3(b1; (temp void)
0:93        Convert float to bool (temp bool)
0:93          'f' (temp float)
0:95      Function Call: foo4(u1; (temp void)
0:95        Convert bool to uint (temp uint)
0:95          'b' (temp bool)
0:96      Function Call: foo4(u1; (temp void)
0:96        Convert double to uint (temp uint)
0:96          'd' (temp double)
0:97      Function Call: foo4(u1; (temp void)
0:97        'u' (temp uint)
0:98      Function Call: foo4(u1; (temp void)
0:98        Convert int to uint (temp uint)
0:98          'i' (temp int)
0:99      Function Call: foo4(u1; (temp void)
0:99        Convert float to uint (temp uint)
0:99          'f' (temp float)
0:101      Function Call: foo5(i1; (temp void)
0:101        Convert bool to int (temp int)
0:101          'b' (temp bool)
0:102      Function Call: foo5(i1; (temp void)
0:102        Convert double to int (temp int)
0:102          'd' (temp double)
0:103      Function Call: foo5(i1; (temp void)
0:103        Convert uint to int (temp int)
0:103          'u' (temp uint)
0:104      Function Call: foo5(i1; (temp void)
0:104        'i' (temp int)
0:105      Function Call: foo5(i1; (temp void)
0:105        Convert float to int (temp int)
0:105          'f' (temp float)
0:107      Function Call: foo6(f1; (temp void)
0:107        Convert bool to float (temp float)
0:107          'b' (temp bool)
0:108      Function Call: foo6(f1; (temp void)
0:108        Convert double to float (temp float)
0:108          'd' (temp double)
0:109      Function Call: foo6(f1; (temp void)
0:109        Convert uint to float (temp float)
0:109          'u' (temp uint)
0:110      Function Call: foo6(f1; (temp void)
0:110        Convert int to float (temp float)
0:110          'i' (temp int)
0:111      Function Call: foo6(f1; (temp void)
0:111        'f' (temp float)
0:113      Function Call: foo7(d1; (temp void)
0:113        Convert bool to double (temp double)
0:113          'b' (temp bool)
0:114      Function Call: foo7(d1; (temp void)
0:114        'd' (temp double)
0:115      Function Call: foo7(d1; (temp void)
0:115        Convert uint to double (temp double)
0:115          'u' (temp uint)
0:116      Function Call: foo7(d1; (temp void)
0:116        Convert int to double (temp double)
0:116          'i' (temp int)
0:117      Function Call: foo7(d1; (temp void)
0:117        Convert float to double (temp double)
0:117          'f' (temp float)
0:119      Function Call: foo8(f1; (temp void)
0:119        Convert bool to float (temp float)
0:119          'b' (temp bool)
0:120      Function Call: foo8(f1; (temp void)
0:120        Convert uint to float (temp float)
0:120          'u' (temp uint)
0:121      Function Call: foo8(f1; (temp void)
0:121        Convert int to float (temp float)
0:121          'i' (temp int)
0:123      Function Call: foo9(i1; (temp void)
0:123        Convert bool to int (temp int)
0:123          'b' (temp bool)
0:124      Function Call: foo9(u1; (temp void)
0:124        Convert float to uint (temp uint)
0:124          'f' (temp float)
0:125      Function Call: foo9(u1; (temp void)
0:125        Convert double to uint (temp uint)
0:125          'd' (temp double)
0:127      Function Call: foo10(i1; (temp void)
0:127        Convert uint to int (temp int)
0:127          'u' (temp uint)
0:128      Function Call: foo10(i1; (temp void)
0:128        Convert float to int (temp int)
0:128          'f' (temp float)
0:129      Function Call: foo10(i1; (temp void)
0:129        Convert double to int (temp int)
0:129          'd' (temp double)
0:131      Function Call: foo11(u1; (temp void)
0:131        Convert bool to uint (temp uint)
0:131          'b' (temp bool)
0:132      Function Call: foo11(d1; (temp void)
0:132        Convert float to double (temp double)
0:132          'f' (temp float)
0:133      Function Call: foo12(vd3; (temp void)
0:133        Convert float to double (temp 3-component vector of double)
0:133          Construct vec3 (temp 3-component vector of float)
0:133            'f' (temp float)
0:134      Function Call: foo16(vu2; (temp void)
0:?         Convert int to uint (temp 2-component vector of uint)
0:?           Construct ivec2 (temp 2-component vector of int)
0:134            'i' (temp int)
0:134            'i' (temp int)
0:136      Function Call: foo13(vf3; (temp void)
0:136        Construct vec3 (in 3-component vector of float)
0:136          'f' (temp float)
0:137      Function Call: foo14(vi1; (temp void)
0:137        Construct int (in 1-component vector of int)
0:137          Construct ivec4 (temp 4-component vector of int)
0:137            'i' (temp int)
0:138      Function Call: foo15(vb1; (temp void)
0:138        Construct bool (in 1-component vector of bool)
0:138          'b' (temp bool)
0:139      Function Call: foo15(vb1; (temp void)
0:139        Construct bool (in 1-component vector of bool)
0:139          Construct bvec3 (temp 3-component vector of bool)
0:139            'b' (temp bool)
0:141      Sequence
0:141        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:141          'input' (layout(location=0 ) in 4-component vector of float)
0:141        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     'input' (layout(location=0 ) in 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 509

                              Capability Shader
                              Capability Float64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 504 506
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "PixelShaderFunction"
                              Name 13  "foo1(d1;b1;"
                              Name 11  "a"
                              Name 12  "b"
                              Name 20  "foo1(d1;u1;"
                              Name 18  "a"
                              Name 19  "b"
                              Name 27  "foo1(d1;i1;"
                              Name 25  "a"
                              Name 26  "b"
                              Name 34  "foo1(d1;f1;"
                              Name 32  "a"
                              Name 33  "b"
                              Name 39  "foo1(d1;d1;"
                              Name 37  "a"
                              Name 38  "b"
                              Name 44  "foo2(i1;b1;"
                              Name 42  "a"
                              Name 43  "b"
                              Name 49  "foo2(i1;u1;"
                              Name 47  "a"
                              Name 48  "b"
                              Name 54  "foo2(i1;i1;"
                              Name 52  "a"
                              Name 53  "b"
                              Name 59  "foo2(i1;f1;"
                              Name 57  "a"
                              Name 58  "b"
                              Name 64  "foo2(i1;d1;"
                              Name 62  "a"
                              Name 63  "b"
                              Name 68  "foo3(b1;"
                              Name 67  "b"
                              Name 72  "foo4(u1;"
                              Name 71  "b"
                              Name 76  "foo5(i1;"
                              Name 75  "b"
                              Name 80  "foo6(f1;"
                              Name 79  "b"
                              Name 84  "foo7(d1;"
                              Name 83  "b"
                              Name 87  "foo8(f1;"
                              Name 86  ""
                              Name 90  "foo8(d1;"
                              Name 89  ""
                              Name 93  "foo9(i1;"
                              Name 92  ""
                              Name 96  "foo9(u1;"
                              Name 95  ""
                              Name 99  "foo10(b1;"
                              Name 98  ""
                              Name 102  "foo10(i1;"
                              Name 101  ""
                              Name 108  "foo11(vf3;"
                              Name 107  ""
                              Name 111  "foo11(d1;"
                              Name 110  ""
                              Name 117  "foo11(vi3;"
                              Name 116  ""
                              Name 120  "foo11(u1;"
                              Name 119  ""
                              Name 123  "foo12(vf1;"
                              Name 122  ""
                              Name 129  "foo12(vd3;"
                              Name 128  ""
                              Name 132  "foo16(u1;"
                              Name 131  ""
                              Name 138  "foo16(vu2;"
                              Name 137  ""
                              Name 141  "foo13(vf3;"
                              Name 140  ""
                              Name 144  "foo14(vi1;"
                              Name 143  ""
                              Name 147  "foo15(vb1;"
                              Name 146  ""
                              Name 149  "d"
                              Name 150  "b"
                              Name 151  "param"
                              Name 153  "param"
                              Name 156  "param"
                              Name 158  "param"
                              Name 161  "u"
                              Name 162  "param"
                              Name 164  "param"
                              Name 167  "i"
                              Name 168  "param"
                              Name 170  "param"
                              Name 173  "f"
                              Name 174  "param"
                              Name 176  "param"
                              Name 181  "param"
                              Name 182  "param"
                              Name 187  "param"
                              Name 188  "param"
                              Name 193  "param"
                              Name 194  "param"
                              Name 199  "param"
                              Name 200  "param"
                              Name 205  "param"
                              Name 206  "param"
                              Name 211  "param"
                              Name 212  "param"
                              Name 217  "param"
                              Name 218  "param"
                              Name 223  "param"
                              Name 224  "param"
                              Name 229  "param"
                              Name 230  "param"
                              Name 235  "param"
                              Name 236  "param"
                              Name 241  "param"
                              Name 242  "param"
                              Name 247  "param"
                              Name 248  "param"
                              Name 253  "param"
                              Name 254  "param"
                              Name 259  "param"
                              Name 260  "param"
                              Name 265  "param"
                              Name 266  "param"
                              Name 271  "param"
                              Name 272  "param"
                              Name 277  "param"
                              Name 278  "param"
                              Name 283  "param"
                              Name 284  "param"
                              Name 289  "param"
                              Name 290  "param"
                              Name 295  "param"
                              Name 296  "param"
                              Name 299  "param"
                              Name 301  "param"
                              Name 304  "param"
                              Name 306  "param"
                              Name 309  "param"
                              Name 311  "param"
                              Name 314  "param"
                              Name 316  "param"
                              Name 319  "param"
                              Name 321  "param"
                              Name 324  "param"
                              Name 330  "param"
                              Name 335  "param"
                              Name 339  "param"
                              Name 344  "param"
                              Name 349  "param"
                              Name 353  "param"
                              Name 355  "param"
                              Name 360  "param"
                              Name 364  "param"
                              Name 370  "param"
                              Name 374  "param"
                              Name 378  "param"
                              Name 380  "param"
                              Name 385  "param"
                              Name 390  "param"
                              Name 394  "param"
                              Name 398  "param"
                              Name 402  "param"
                              Name 404  "param"
                              Name 410  "param"
                              Name 412  "param"
                              Name 417  "param"
                              Name 421  "param"
                              Name 425  "param"
                              Name 429  "param"
                              Name 433  "param"
                              Name 437  "param"
                              Name 441  "param"
                              Name 445  "param"
                              Name 449  "param"
                              Name 453  "param"
                              Name 457  "param"
                              Name 461  "param"
                              Name 465  "param"
                              Name 469  "param"
                              Name 474  "param"
                              Name 481  "param"
                              Name 485  "param"
                              Name 491  "param"
                              Name 494  "param"
                              Name 500  "param"
                              Name 504  "@entryPointOutput"
                              Name 506  "input"
                              Decorate 504(@entryPointOutput) Location 0
                              Decorate 506(input) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 64
               7:             TypePointer Function 6(float)
               8:             TypeBool
               9:             TypePointer Function 8(bool)
              10:             TypeFunction 2 7(ptr) 9(ptr)
              15:             TypeInt 32 0
              16:             TypePointer Function 15(int)
              17:             TypeFunction 2 7(ptr) 16(ptr)
              22:             TypeInt 32 1
              23:             TypePointer Function 22(int)
              24:             TypeFunction 2 7(ptr) 23(ptr)
              29:             TypeFloat 32
              30:             TypePointer Function 29(float)
              31:             TypeFunction 2 7(ptr) 30(ptr)
              36:             TypeFunction 2 7(ptr) 7(ptr)
              41:             TypeFunction 2 23(ptr) 9(ptr)
              46:             TypeFunction 2 23(ptr) 16(ptr)
              51:             TypeFunction 2 23(ptr) 23(ptr)
              56:             TypeFunction 2 23(ptr) 30(ptr)
              61:             TypeFunction 2 23(ptr) 7(ptr)
              66:             TypeFunction 2 9(ptr)
              70:             TypeFunction 2 16(ptr)
              74:             TypeFunction 2 23(ptr)
              78:             TypeFunction 2 30(ptr)
              82:             TypeFunction 2 7(ptr)
             104:             TypeVector 29(float) 3
             105:             TypePointer Function 104(fvec3)
             106:             TypeFunction 2 105(ptr)
             113:             TypeVector 22(int) 3
             114:             TypePointer Function 113(ivec3)
             115:             TypeFunction 2 114(ptr)
             125:             TypeVector 6(float) 3
             126:             TypePointer Function 125(fvec3)
             127:             TypeFunction 2 126(ptr)
             134:             TypeVector 15(int) 2
             135:             TypePointer Function 134(ivec2)
             136:             TypeFunction 2 135(ptr)
             328:    6(float) Constant 0 0
             333:     15(int) Constant 0
             342:   29(float) Constant 0
             347:     15(int) Constant 1
             367:     22(int) Constant 0
             368:     22(int) Constant 1
             388:   29(float) Constant 1065353216
             408:    6(float) Constant 0 1072693248
             478:             TypeVector 22(int) 2
             488:             TypeVector 22(int) 4
             497:             TypeVector 8(bool) 3
             502:             TypeVector 29(float) 4
             503:             TypePointer Output 502(fvec4)
504(@entryPointOutput):    503(ptr) Variable Output
             505:             TypePointer Input 502(fvec4)
      506(input):    505(ptr) Variable Input
4(PixelShaderFunction):           2 Function None 3
               5:             Label
          149(d):      7(ptr) Variable Function
          150(b):      9(ptr) Variable Function
      151(param):      7(ptr) Variable Function
      153(param):      9(ptr) Variable Function
      156(param):      7(ptr) Variable Function
      158(param):      7(ptr) Variable Function
          161(u):     16(ptr) Variable Function
      162(param):      7(ptr) Variable Function
      164(param):     16(ptr) Variable Function
          167(i):     23(ptr) Variable Function
      168(param):      7(ptr) Variable Function
      170(param):     23(ptr) Variable Function
          173(f):     30(ptr) Variable Function
      174(param):      7(ptr) Variable Function
      176(param):     30(ptr) Variable Function
      181(param):      7(ptr) Variable Function
      182(param):      9(ptr) Variable Function
      187(param):      7(ptr) Variable Function
      188(param):      7(ptr) Variable Function
      193(param):      7(ptr) Variable Function
      194(param):     16(ptr) Variable Function
      199(param):      7(ptr) Variable Function
      200(param):     23(ptr) Variable Function
      205(param):      7(ptr) Variable Function
      206(param):     30(ptr) Variable Function
      211(param):      7(ptr) Variable Function
      212(param):      9(ptr) Variable Function
      217(param):      7(ptr) Variable Function
      218(param):      7(ptr) Variable Function
      223(param):      7(ptr) Variable Function
      224(param):     16(ptr) Variable Function
      229(param):      7(ptr) Variable Function
      230(param):     23(ptr) Variable Function
      235(param):      7(ptr) Variable Function
      236(param):     30(ptr) Variable Function
      241(param):      7(ptr) Variable Function
      242(param):      9(ptr) Variable Function
      247(param):      7(ptr) Variable Function
      248(param):      7(ptr) Variable Function
      253(param):      7(ptr) Variable Function
      254(param):     16(ptr) Variable Function
      259(param):      7(ptr) Variable Function
      260(param):     23(ptr) Variable Function
      265(param):      7(ptr) Variable Function
      266(param):     30(ptr) Variable Function
      271(param):     23(ptr) Variable Function
      272(param):      9(ptr) Variable Function
      277(param):     23(ptr) Variable Function
      278(param):      7(ptr) Variable Function
      283(param):     23(ptr) Variable Function
      284(param):     16(ptr) Variable Function
      289(param):     23(ptr) Variable Function
      290(param):     23(ptr) Variable Function
      295(param):     23(ptr) Variable Function
      296(param):     30(ptr) Variable Function
      299(param):     23(ptr) Variable Function
      301(param):      9(ptr) Variable Function
      304(param):     23(ptr) Variable Function
      306(param):      7(ptr) Variable Function
      309(param):     23(ptr) Variable Function
      311(param):     16(ptr) Variable Function
      314(param):     23(ptr) Variable Function
      316(param):     23(ptr) Variable Function
      319(param):     23(ptr) Variable Function
      321(param):     30(ptr) Variable Function
      324(param):      9(ptr) Variable Function
      330(param):      9(ptr) Variable Function
      335(param):      9(ptr) Variable Function
      339(param):      9(ptr) Variable Function
      344(param):      9(ptr) Variable Function
      349(param):     16(ptr) Variable Function
      353(param):     16(ptr) Variable Function
      355(param):     16(ptr) Variable Function
      360(param):     16(ptr) Variable Function
      364(param):     16(ptr) Variable Function
      370(param):     23(ptr) Variable Function
      374(param):     23(ptr) Variable Function
      378(param):     23(ptr) Variable Function
      380(param):     23(ptr) Variable Function
      385(param):     23(ptr) Variable Function
      390(param):     30(ptr) Variable Function
      394(param):     30(ptr) Variable Function
      398(param):     30(ptr) Variable Function
      402(param):     30(ptr) Variable Function
      404(param):     30(ptr) Variable Function
      410(param):      7(ptr) Variable Function
      412(param):      7(ptr) Variable Function
      417(param):      7(ptr) Variable Function
      421(param):      7(ptr) Variable Function
      425(param):      7(ptr) Variable Function
      429(param):     30(ptr) Variable Function
      433(param):     30(ptr) Variable Function
      437(param):     30(ptr) Variable Function
      441(param):     23(ptr) Variable Function
      445(param):     16(ptr) Variable Function
      449(param):     16(ptr) Variable Function
      453(param):     23(ptr) Variable Function
      457(param):     23(ptr) Variable Function
      461(param):     23(ptr) Variable Function
      465(param):     16(ptr) Variable Function
      469(param):      7(ptr) Variable Function
      474(param):    126(ptr) Variable Function
      481(param):    135(ptr) Variable Function
      485(param):    105(ptr) Variable Function
      491(param):     23(ptr) Variable Function
      494(param):      9(ptr) Variable Function
      500(param):      9(ptr) Variable Function
             152:    6(float) Load 149(d)
                              Store 151(param) 152
             154:     8(bool) Load 150(b)
                              Store 153(param) 154
             155:           2 FunctionCall 13(foo1(d1;b1;) 151(param) 153(param)
             157:    6(float) Load 149(d)
                              Store 156(param) 157
             159:    6(float) Load 149(d)
                              Store 158(param) 159
             160:           2 FunctionCall 39(foo1(d1;d1;) 156(param) 158(param)
             163:    6(float) Load 149(d)
                              Store 162(param) 163
             165:     15(int) Load 161(u)
                              Store 164(param) 165
             166:           2 FunctionCall 20(foo1(d1;u1;) 162(param) 164(param)
             169:    6(float) Load 149(d)
                              Store 168(param) 169
             171:     22(int) Load 167(i)
                              Store 170(param) 171
             172:           2 FunctionCall 27(foo1(d1;i1;) 168(param) 170(param)
             175:    6(float) Load 149(d)
                              Store 174(param) 175
             177:   29(float) Load 173(f)
                              Store 176(param) 177
             178:           2 FunctionCall 34(foo1(d1;f1;) 174(param) 176(param)
             179:   29(float) Load 173(f)
             180:    6(float) FConvert 179
                              Store 181(param) 180
             183:     8(bool) Load 150(b)
                              Store 182(param) 183
             184:           2 FunctionCall 13(foo1(d1;b1;) 181(param) 182(param)
             185:   29(float) Load 173(f)
             186:    6(float) FConvert 185
                              Store 187(param) 186
             189:    6(float) Load 149(d)
                              Store 188(param) 189
             190:           2 FunctionCall 39(foo1(d1;d1;) 187(param) 188(param)
             191:   29(float) Load 173(f)
             192:    6(float) FConvert 191
                              Store 193(param) 192
             195:     15(int) Load 161(u)
                              Store 194(param) 195
             196:           2 FunctionCall 20(foo1(d1;u1;) 193(param) 194(param)
             197:   29(float) Load 173(f)
             198:    6(float) FConvert 197
                              Store 199(param) 198
             201:     22(int) Load 167(i)
                              Store 200(param) 201
             202:           2 FunctionCall 27(foo1(d1;i1;) 199(param) 200(param)
             203:   29(float) Load 173(f)
             204:    6(float) FConvert 203
                              Store 205(param) 204
             207:   29(float) Load 173(f)
                              Store 206(param) 207
             208:           2 FunctionCall 34(foo1(d1;f1;) 205(param) 206(param)
             209:     15(int) Load 161(u)
             210:    6(float) ConvertUToF 209
                              Store 211(param) 210
             213:     8(bool) Load 150(b)
                              Store 212(param) 213
             214:           2 FunctionCall 13(foo1(d1;b1;) 211(param) 212(param)
             215:     15(int) Load 161(u)
             216:    6(float) ConvertUToF 215
                              Store 217(param) 216
             219:    6(float) Load 149(d)
                              Store 218(param) 219
             220:           2 FunctionCall 39(foo1(d1;d1;) 217(param) 218(param)
             221:     15(int) Load 161(u)
             222:    6(float) ConvertUToF 221
                              Store 223(param) 222
             225:     15(int) Load 161(u)
                              Store 224(param) 225
             226:           2 FunctionCall 20(foo1(d1;u1;) 223(param) 224(param)
             227:     15(int) Load 161(u)
             228:    6(float) ConvertUToF 227
                              Store 229(param) 228
             231:     22(int) Load 167(i)
                              Store 230(param) 231
             232:           2 FunctionCall 27(foo1(d1;i1;) 229(param) 230(param)
             233:     15(int) Load 161(u)
             234:    6(float) ConvertUToF 233
                              Store 235(param) 234
             237:   29(float) Load 173(f)
                              Store 236(param) 237
             238:           2 FunctionCall 34(foo1(d1;f1;) 235(param) 236(param)
             239:     22(int) Load 167(i)
             240:    6(float) ConvertSToF 239
                              Store 241(param) 240
             243:     8(bool) Load 150(b)
                              Store 242(param) 243
             244:           2 FunctionCall 13(foo1(d1;b1;) 241(param) 242(param)
             245:     22(int) Load 167(i)
             246:    6(float) ConvertSToF 245
                              Store 247(param) 246
             249:    6(float) Load 149(d)
                              Store 248(param) 249
             250:           2 FunctionCall 39(foo1(d1;d1;) 247(param) 248(param)
             251:     22(int) Load 167(i)
             252:    6(float) ConvertSToF 251
                              Store 253(param) 252
             255:     15(int) Load 161(u)
                              Store 254(param) 255
             256:           2 FunctionCall 20(foo1(d1;u1;) 253(param) 254(param)
             257:     22(int) Load 167(i)
             258:    6(float) ConvertSToF 257
                              Store 259(param) 258
             261:     22(int) Load 167(i)
                              Store 260(param) 261
             262:           2 FunctionCall 27(foo1(d1;i1;) 259(param) 260(param)
             263:     22(int) Load 167(i)
             264:    6(float) ConvertSToF 263
                              Store 265(param) 264
             267:   29(float) Load 173(f)
                              Store 266(param) 267
             268:           2 FunctionCall 34(foo1(d1;f1;) 265(param) 266(param)
             269:     15(int) Load 161(u)
             270:     22(int) Bitcast 269
                              Store 271(param) 270
             273:     8(bool) Load 150(b)
                              Store 272(param) 273
             274:           2 FunctionCall 44(foo2(i1;b1;) 271(param) 272(param)
             275:     15(int) Load 161(u)
             276:     22(int) Bitcast 275
                              Store 277(param) 276
             279:    6(float) Load 149(d)
                              Store 278(param) 279
             280:           2 FunctionCall 64(foo2(i1;d1;) 277(param) 278(param)
             281:     15(int) Load 161(u)
             282:     22(int) Bitcast 281
                              Store 283(param) 282
             285:     15(int) Load 161(u)
                              Store 284(param) 285
             286:           2 FunctionCall 49(foo2(i1;u1;) 283(param) 284(param)
             287:     15(int) Load 161(u)
             288:     22(int) Bitcast 287
                              Store 289(param) 288
             291:     22(int) Load 167(i)
                              Store 290(param) 291
             292:           2 FunctionCall 54(foo2(i1;i1;) 289(param) 290(param)
             293:     15(int) Load 161(u)
             294:     22(int) Bitcast 293
                              Store 295(param) 294
             297:   29(float) Load 173(f)
                              Store 296(param) 297
             298:           2 FunctionCall 59(foo2(i1;f1;) 295(param) 296(param)
             300:     22(int) Load 167(i)
                              Store 299(param) 300
             302:     8(bool) Load 150(b)
                              Store 301(param) 302
             303:           2 FunctionCall 44(foo2(i1;b1;) 299(param) 301(param)
             305:     22(int) Load 167(i)
                              Store 304(param) 305
             307:    6(float) Load 149(d)
                              Store 306(param) 307
             308:           2 FunctionCall 64(foo2(i1;d1;) 304(param) 306(param)
             310:     22(int) Load 167(i)
                              Store 309(param) 310
             312:     15(int) Load 161(u)
                              Store 311(param) 312
             313:           2 FunctionCall 49(foo2(i1;u1;) 309(param) 311(param)
             315:     22(int) Load 167(i)
                              Store 314(param) 315
             317:     22(int) Load 167(i)
                              Store 316(param) 317
             318:           2 FunctionCall 54(foo2(i1;i1;) 314(param) 316(param)
             320:     22(int) Load 167(i)
                              Store 319(param) 320
             322:   29(float) Load 173(f)
                              Store 321(param) 322
             323:           2 FunctionCall 59(foo2(i1;f1;) 319(param) 321(param)
             325:     8(bool) Load 150(b)
                              Store 324(param) 325
             326:           2 FunctionCall 68(foo3(b1;) 324(param)
             327:    6(float) Load 149(d)
             329:     8(bool) FOrdNotEqual 327 328
                              Store 330(param) 329
             331:           2 FunctionCall 68(foo3(b1;) 330(param)
             332:     15(int) Load 161(u)
             334:     8(bool) INotEqual 332 333
                              Store 335(param) 334
             336:           2 FunctionCall 68(foo3(b1;) 335(param)
             337:     22(int) Load 167(i)
             338:     8(bool) INotEqual 337 333
                              Store 339(param) 338
             340:           2 FunctionCall 68(foo3(b1;) 339(param)
             341:   29(float) Load 173(f)
             343:     8(bool) FOrdNotEqual 341 342
                              Store 344(param) 343
             345:           2 FunctionCall 68(foo3(b1;) 344(param)
             346:     8(bool) Load 150(b)
             348:     15(int) Select 346 347 333
                              Store 349(param) 348
             350:           2 FunctionCall 72(foo4(u1;) 349(param)
             351:    6(float) Load 149(d)
             352:     15(int) ConvertFToU 351
                              Store 353(param) 352
             354:           2 FunctionCall 72(foo4(u1;) 353(param)
             356:     15(int) Load 161(u)
                              Store 355(param) 356
             357:           2 FunctionCall 72(foo4(u1;) 355(param)
             358:     22(int) Load 167(i)
             359:     15(int) Bitcast 358
                              Store 360(param) 359
             361:           2 FunctionCall 72(foo4(u1;) 360(param)
             362:   29(float) Load 173(f)
             363:     15(int) ConvertFToU 362
                              Store 364(param) 363
             365:           2 FunctionCall 72(foo4(u1;) 364(param)
             366:     8(bool) Load 150(b)
             369:     22(int) Select 366 368 367
                              Store 370(param) 369
             371:           2 FunctionCall 76(foo5(i1;) 370(param)
             372:    6(float) Load 149(d)
             373:     22(int) ConvertFToS 372
                              Store 374(param) 373
             375:           2 FunctionCall 76(foo5(i1;) 374(param)
             376:     15(int) Load 161(u)
             377:     22(int) Bitcast 376
                              Store 378(param) 377
             379:           2 FunctionCall 76(foo5(i1;) 378(param)
             381:     22(int) Load 167(i)
                              Store 380(param) 381
             382:           2 FunctionCall 76(foo5(i1;) 380(param)
             383:   29(float) Load 173(f)
             384:     22(int) ConvertFToS 383
                              Store 385(param) 384
             386:           2 FunctionCall 76(foo5(i1;) 385(param)
             387:     8(bool) Load 150(b)
             389:   29(float) Select 387 388 342
                              Store 390(param) 389
             391:           2 FunctionCall 80(foo6(f1;) 390(param)
             392:    6(float) Load 149(d)
             393:   29(float) FConvert 392
                              Store 394(param) 393
             395:           2 FunctionCall 80(foo6(f1;) 394(param)
             396:     15(int) Load 161(u)
             397:   29(float) ConvertUToF 396
                              Store 398(param) 397
             399:           2 FunctionCall 80(foo6(f1;) 398(param)
             400:     22(int) Load 167(i)
             401:   29(float) ConvertSToF 400
                              Store 402(param) 401
             403:           2 FunctionCall 80(foo6(f1;) 402(param)
             405:   29(float) Load 173(f)
                              Store 404(param) 405
             406:           2 FunctionCall 80(foo6(f1;) 404(param)
             407:     8(bool) Load 150(b)
             409:    6(float) Select 407 408 328
                              Store 410(param) 409
             411:           2 FunctionCall 84(foo7(d1;) 410(param)
             413:    6(float) Load 149(d)
                              Store 412(param) 413
             414:           2 FunctionCall 84(foo7(d1;) 412(param)
             415:     15(int) Load 161(u)
             416:    6(float) ConvertUToF 415
                              Store 417(param) 416
             418:           2 FunctionCall 84(foo7(d1;) 417(param)
             419:     22(int) Load 167(i)
             420:    6(float) ConvertSToF 419
                              Store 421(param) 420
             422:           2 FunctionCall 84(foo7(d1;) 421(param)
             423:   29(float) Load 173(f)
             424:    6(float) FConvert 423
                              Store 425(param) 424
             426:           2 FunctionCall 84(foo7(d1;) 425(param)
             427:     8(bool) Load 150(b)
             428:   29(float) Select 427 388 342
                              Store 429(param) 428
             430:           2 FunctionCall 87(foo8(f1;) 429(param)
             431:     15(int) Load 161(u)
             432:   29(float) ConvertUToF 431
                              Store 433(param) 432
             434:           2 FunctionCall 87(foo8(f1;) 433(param)
             435:     22(int) Load 167(i)
             436:   29(float) ConvertSToF 435
                              Store 437(param) 436
             438:           2 FunctionCall 87(foo8(f1;) 437(param)
             439:     8(bool) Load 150(b)
             440:     22(int) Select 439 368 367
                              Store 441(param) 440
             442:           2 FunctionCall 93(foo9(i1;) 441(param)
             443:   29(float) Load 173(f)
             444:     15(int) ConvertFToU 443
                              Store 445(param) 444
             446:           2 FunctionCall 96(foo9(u1;) 445(param)
             447:    6(float) Load 149(d)
             448:     15(int) ConvertFToU 447
                              Store 449(param) 448
             450:           2 FunctionCall 96(foo9(u1;) 449(param)
             451:     15(int) Load 161(u)
             452:     22(int) Bitcast 451
                              Store 453(param) 452
             454:           2 FunctionCall 102(foo10(i1;) 453(param)
             455:   29(float) Load 173(f)
             456:     22(int) ConvertFToS 455
                              Store 457(param) 456
             458:           2 FunctionCall 102(foo10(i1;) 457(param)
             459:    6(float) Load 149(d)
             460:     22(int) ConvertFToS 459
                              Store 461(param) 460
             462:           2 FunctionCall 102(foo10(i1;) 461(param)
             463:     8(bool) Load 150(b)
             464:     15(int) Select 463 347 333
                              Store 465(param) 464
             466:           2 FunctionCall 120(foo11(u1;) 465(param)
             467:   29(float) Load 173(f)
             468:    6(float) FConvert 467
                              Store 469(param) 468
             470:           2 FunctionCall 111(foo11(d1;) 469(param)
             471:   29(float) Load 173(f)
             472:  104(fvec3) CompositeConstruct 471 471 471
             473:  125(fvec3) FConvert 472
                              Store 474(param) 473
             475:           2 FunctionCall 129(foo12(vd3;) 474(param)
             476:     22(int) Load 167(i)
             477:     22(int) Load 167(i)
             479:  478(ivec2) CompositeConstruct 476 477
             480:  134(ivec2) Bitcast 479
                              Store 481(param) 480
             482:           2 FunctionCall 138(foo16(vu2;) 481(param)
             483:   29(float) Load 173(f)
             484:  104(fvec3) CompositeConstruct 483 483 483
                              Store 485(param) 484
             486:           2 FunctionCall 141(foo13(vf3;) 485(param)
             487:     22(int) Load 167(i)
             489:  488(ivec4) CompositeConstruct 487 487 487 487
             490:     22(int) CompositeExtract 489 0
                              Store 491(param) 490
             492:           2 FunctionCall 144(foo14(vi1;) 491(param)
             493:     8(bool) Load 150(b)
                              Store 494(param) 493
             495:           2 FunctionCall 147(foo15(vb1;) 494(param)
             496:     8(bool) Load 150(b)
             498:  497(bvec3) CompositeConstruct 496 496 496
             499:     8(bool) CompositeExtract 498 0
                              Store 500(param) 499
             501:           2 FunctionCall 147(foo15(vb1;) 500(param)
             507:  502(fvec4) Load 506(input)
                              Store 504(@entryPointOutput) 507
                              Return
                              FunctionEnd
 13(foo1(d1;b1;):           2 Function None 10
           11(a):      7(ptr) FunctionParameter
           12(b):      9(ptr) FunctionParameter
              14:             Label
                              Return
                              FunctionEnd
 20(foo1(d1;u1;):           2 Function None 17
           18(a):      7(ptr) FunctionParameter
           19(b):     16(ptr) FunctionParameter
              21:             Label
                              Return
                              FunctionEnd
 27(foo1(d1;i1;):           2 Function None 24
           25(a):      7(ptr) FunctionParameter
           26(b):     23(ptr) FunctionParameter
              28:             Label
                              Return
                              FunctionEnd
 34(foo1(d1;f1;):           2 Function None 31
           32(a):      7(ptr) FunctionParameter
           33(b):     30(ptr) FunctionParameter
              35:             Label
                              Return
                              FunctionEnd
 39(foo1(d1;d1;):           2 Function None 36
           37(a):      7(ptr) FunctionParameter
           38(b):      7(ptr) FunctionParameter
              40:             Label
                              Return
                              FunctionEnd
 44(foo2(i1;b1;):           2 Function None 41
           42(a):     23(ptr) FunctionParameter
           43(b):      9(ptr) FunctionParameter
              45:             Label
                              Return
                              FunctionEnd
 49(foo2(i1;u1;):           2 Function None 46
           47(a):     23(ptr) FunctionParameter
           48(b):     16(ptr) FunctionParameter
              50:             Label
                              Return
                              FunctionEnd
 54(foo2(i1;i1;):           2 Function None 51
           52(a):     23(ptr) FunctionParameter
           53(b):     23(ptr) FunctionParameter
              55:             Label
                              Return
                              FunctionEnd
 59(foo2(i1;f1;):           2 Function None 56
           57(a):     23(ptr) FunctionParameter
           58(b):     30(ptr) FunctionParameter
              60:             Label
                              Return
                              FunctionEnd
 64(foo2(i1;d1;):           2 Function None 61
           62(a):     23(ptr) FunctionParameter
           63(b):      7(ptr) FunctionParameter
              65:             Label
                              Return
                              FunctionEnd
    68(foo3(b1;):           2 Function None 66
           67(b):      9(ptr) FunctionParameter
              69:             Label
                              Return
                              FunctionEnd
    72(foo4(u1;):           2 Function None 70
           71(b):     16(ptr) FunctionParameter
              73:             Label
                              Return
                              FunctionEnd
    76(foo5(i1;):           2 Function None 74
           75(b):     23(ptr) FunctionParameter
              77:             Label
                              Return
                              FunctionEnd
    80(foo6(f1;):           2 Function None 78
           79(b):     30(ptr) FunctionParameter
              81:             Label
                              Return
                              FunctionEnd
    84(foo7(d1;):           2 Function None 82
           83(b):      7(ptr) FunctionParameter
              85:             Label
                              Return
                              FunctionEnd
    87(foo8(f1;):           2 Function None 78
              86:     30(ptr) FunctionParameter
              88:             Label
                              Return
                              FunctionEnd
    90(foo8(d1;):           2 Function None 82
              89:      7(ptr) FunctionParameter
              91:             Label
                              Return
                              FunctionEnd
    93(foo9(i1;):           2 Function None 74
              92:     23(ptr) FunctionParameter
              94:             Label
                              Return
                              FunctionEnd
    96(foo9(u1;):           2 Function None 70
              95:     16(ptr) FunctionParameter
              97:             Label
                              Return
                              FunctionEnd
   99(foo10(b1;):           2 Function None 66
              98:      9(ptr) FunctionParameter
             100:             Label
                              Return
                              FunctionEnd
  102(foo10(i1;):           2 Function None 74
             101:     23(ptr) FunctionParameter
             103:             Label
                              Return
                              FunctionEnd
 108(foo11(vf3;):           2 Function None 106
             107:    105(ptr) FunctionParameter
             109:             Label
                              Return
                              FunctionEnd
  111(foo11(d1;):           2 Function None 82
             110:      7(ptr) FunctionParameter
             112:             Label
                              Return
                              FunctionEnd
 117(foo11(vi3;):           2 Function None 115
             116:    114(ptr) FunctionParameter
             118:             Label
                              Return
                              FunctionEnd
  120(foo11(u1;):           2 Function None 70
             119:     16(ptr) FunctionParameter
             121:             Label
                              Return
                              FunctionEnd
 123(foo12(vf1;):           2 Function None 78
             122:     30(ptr) FunctionParameter
             124:             Label
                              Return
                              FunctionEnd
 129(foo12(vd3;):           2 Function None 127
             128:    126(ptr) FunctionParameter
             130:             Label
                              Return
                              FunctionEnd
  132(foo16(u1;):           2 Function None 70
             131:     16(ptr) FunctionParameter
             133:             Label
                              Return
                              FunctionEnd
 138(foo16(vu2;):           2 Function None 136
             137:    135(ptr) FunctionParameter
             139:             Label
                              Return
                              FunctionEnd
 141(foo13(vf3;):           2 Function None 106
             140:    105(ptr) FunctionParameter
             142:             Label
                              Return
                              FunctionEnd
 144(foo14(vi1;):           2 Function None 74
             143:     23(ptr) FunctionParameter
             145:             Label
                              Return
                              FunctionEnd
 147(foo15(vb1;):           2 Function None 66
             146:      9(ptr) FunctionParameter
             148:             Label
                              Return
                              FunctionEnd
