spv.debuginfo.glsl.comp
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 975

                              Capability Shader
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 14  "main" 133
                              ExecutionMode 14 LocalSize 10 10 1
               2:             String  "spv.debuginfo.glsl.comp"
               8:             String  "uint"
              17:             String  "float"
              33:             String  "springForce"
              36:             String  "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed keep-uncalled
// OpModuleProcessed entry-point main
#line 1
/*
The MIT License (MIT)

Copyright (c) 2022 Sascha Willems

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/

#version 450

struct Particle {
	vec4 pos;
	vec4 vel;
	vec4 uv;
	vec4 normal;
	float pinned;
};

layout(std430, binding = 0) buffer ParticleIn {
	Particle particleIn[ ];
};

layout(std430, binding = 1) buffer ParticleOut {
	Particle particleOut[ ];
};

// todo: use shared memory to speed up calculation

layout (local_size_x = 10, local_size_y = 10) in;

layout (binding = 2) uniform UBO
{
	float deltaT;
	float particleMass;
	float springStiffness;
	float damping;
	float restDistH;
	float restDistV;
	float restDistD;
	float sphereRadius;
	vec4 spherePos;
	vec4 gravity;
	ivec2 particleCount;
} params;

layout (push_constant) uniform PushConsts {
	uint calculateNormals;
} pushConsts;

vec3 springForce(vec3 p0, vec3 p1, float restDist)
{
	vec3 dist = p0 - p1;
	return normalize(dist) * params.springStiffness * (length(dist) - restDist);
}

void main()
{
	uvec3 id = gl_GlobalInvocationID;

	uint index = id.y * params.particleCount.x + id.x;
	if (index > params.particleCount.x * params.particleCount.y)
		return;

	// Pinned?
	if (particleIn[index].pinned == 1.0) {
		particleOut[index].pos = particleOut[index].pos;
		particleOut[index].vel = vec4(0.0);
		return;
	}

	// Initial force from gravity
	vec3 force = params.gravity.xyz * params.particleMass;

	vec3 pos = particleIn[index].pos.xyz;
	vec3 vel = particleIn[index].vel.xyz;

	// Spring forces from neighboring particles
	// left
	if (id.x > 0) {
		force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH);
	}
	// right
	if (id.x < params.particleCount.x - 1) {
		force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH);
	}
	// upper
	if (id.y < params.particleCount.y - 1) {
		force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV);
	}
	// lower
	if (id.y > 0) {
		force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV);
	}
	// upper-left
	if ((id.x > 0) && (id.y < params.particleCount.y - 1)) {
		force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
	}
	// lower-left
	if ((id.x > 0) && (id.y > 0)) {
		force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD);
	}
	// upper-right
	if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) {
		force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
	}
	// lower-right
	if ((id.x < params.particleCount.x - 1) && (id.y > 0)) {
		force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD);
	}

	force += (-params.damping * vel);

	// Integrate
	vec3 f = force * (1.0 / params.particleMass);
	particleOut[index].pos = vec4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0);
	particleOut[index].vel = vec4(vel + f * params.deltaT, 0.0);

	// Sphere collision
	vec3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz;
	if (length(sphereDist) < params.sphereRadius + 0.01) {
		// If the particle is inside the sphere, push it to the outer radius
		particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01);
		// Cancel out velocity
		particleOut[index].vel = vec4(0.0);
	}

	// Normals
	if (pushConsts.calculateNormals == 1) {
		vec3 normal = vec3(0.0);
		vec3 a, b, c;
		if (id.y > 0) {
			if (id.x > 0) {
				a = particleIn[index - 1].pos.xyz - pos;
				b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos;
				c = particleIn[index - params.particleCount.x].pos.xyz - pos;
				normal += cross(a,b) + cross(b,c);
			}
			if (id.x < params.particleCount.x - 1) {
				a = particleIn[index - params.particleCount.x].pos.xyz - pos;
				b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos;
				c = particleIn[index + 1].pos.xyz - pos;
				normal += cross(a,b) + cross(b,c);
			}
		}
		if (id.y < params.particleCount.y - 1) {
			if (id.x > 0) {
				a = particleIn[index + params.particleCount.x].pos.xyz - pos;
				b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos;
				c = particleIn[index - 1].pos.xyz - pos;
				normal += cross(a,b) + cross(b,c);
			}
			if (id.x < params.particleCount.x - 1) {
				a = particleIn[index + 1].pos.xyz - pos;
				b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos;
				c = particleIn[index + params.particleCount.x].pos.xyz - pos;
				normal += cross(a,b) + cross(b,c);
			}
		}
		particleOut[index].normal = vec4(normalize(normal), 0.0f);
	}
}
"
              43:             String  "p0"
              49:             String  "p1"
              52:             String  "restDist"
              54:             String  "main"
              60:             String  "dist"
              74:             String  "int"
              80:             String  "sphereRadius"
              91:             String  "gravity"
              95:             String  "particleCount"
              98:             String  "UBO"
             103:             String  "params"
             127:             String  "id"
             135:             String  "gl_GlobalInvocationID"
             141:             String  "index"
             167:             String  "bool"
             179:             String  "normal"
             185:             String  "pinned"
             187:             String  "Particle"
             193:             String  "particleIn"
             197:             String  "ParticleIn"
             202:             String  ""
             218:             String  "particleOut"
             221:             String  "ParticleOut"
             249:             String  "force"
             263:             String  "pos"
             273:             String  "vel"
             577:             String  "f"
             626:             String  "sphereDist"
             677:             String  "calculateNormals"
             680:             String  "PushConsts"
             687:             String  "pushConsts"
             721:             String  "a"
             735:             String  "b"
             752:             String  "c"
                              Name 14  "main"
                              Name 31  "springForce(vf3;vf3;f1;"
                              Name 28  "p0"
                              Name 29  "p1"
                              Name 30  "restDist"
                              Name 58  "dist"
                              Name 78  "UBO"
                              MemberName 78(UBO) 0  "deltaT"
                              MemberName 78(UBO) 1  "particleMass"
                              MemberName 78(UBO) 2  "springStiffness"
                              MemberName 78(UBO) 3  "damping"
                              MemberName 78(UBO) 4  "restDistH"
                              MemberName 78(UBO) 5  "restDistV"
                              MemberName 78(UBO) 6  "restDistD"
                              MemberName 78(UBO) 7  "sphereRadius"
                              MemberName 78(UBO) 8  "spherePos"
                              MemberName 78(UBO) 9  "gravity"
                              MemberName 78(UBO) 10  "particleCount"
                              Name 101  "params"
                              Name 125  "id"
                              Name 133  "gl_GlobalInvocationID"
                              Name 139  "index"
                              Name 177  "Particle"
                              MemberName 177(Particle) 0  "pos"
                              MemberName 177(Particle) 1  "vel"
                              MemberName 177(Particle) 2  "uv"
                              MemberName 177(Particle) 3  "normal"
                              MemberName 177(Particle) 4  "pinned"
                              Name 191  "ParticleIn"
                              MemberName 191(ParticleIn) 0  "particleIn"
                              Name 200  ""
                              Name 216  "ParticleOut"
                              MemberName 216(ParticleOut) 0  "particleOut"
                              Name 225  ""
                              Name 247  "force"
                              Name 261  "pos"
                              Name 271  "vel"
                              Name 293  "param"
                              Name 297  "param"
                              Name 299  "param"
                              Name 322  "param"
                              Name 326  "param"
                              Name 328  "param"
                              Name 355  "param"
                              Name 359  "param"
                              Name 361  "param"
                              Name 383  "param"
                              Name 387  "param"
                              Name 389  "param"
                              Name 426  "param"
                              Name 430  "param"
                              Name 432  "param"
                              Name 464  "param"
                              Name 468  "param"
                              Name 470  "param"
                              Name 510  "param"
                              Name 514  "param"
                              Name 516  "param"
                              Name 552  "param"
                              Name 556  "param"
                              Name 558  "param"
                              Name 575  "f"
                              Name 624  "sphereDist"
                              Name 675  "PushConsts"
                              MemberName 675(PushConsts) 0  "calculateNormals"
                              Name 685  "pushConsts"
                              Name 697  "normal"
                              Name 719  "a"
                              Name 733  "b"
                              Name 750  "c"
                              MemberDecorate 78(UBO) 0 Offset 0
                              MemberDecorate 78(UBO) 1 Offset 4
                              MemberDecorate 78(UBO) 2 Offset 8
                              MemberDecorate 78(UBO) 3 Offset 12
                              MemberDecorate 78(UBO) 4 Offset 16
                              MemberDecorate 78(UBO) 5 Offset 20
                              MemberDecorate 78(UBO) 6 Offset 24
                              MemberDecorate 78(UBO) 7 Offset 28
                              MemberDecorate 78(UBO) 8 Offset 32
                              MemberDecorate 78(UBO) 9 Offset 48
                              MemberDecorate 78(UBO) 10 Offset 64
                              Decorate 78(UBO) Block
                              Decorate 101(params) DescriptorSet 0
                              Decorate 101(params) Binding 2
                              Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
                              MemberDecorate 177(Particle) 0 Offset 0
                              MemberDecorate 177(Particle) 1 Offset 16
                              MemberDecorate 177(Particle) 2 Offset 32
                              MemberDecorate 177(Particle) 3 Offset 48
                              MemberDecorate 177(Particle) 4 Offset 64
                              Decorate 189 ArrayStride 80
                              MemberDecorate 191(ParticleIn) 0 Offset 0
                              Decorate 191(ParticleIn) BufferBlock
                              Decorate 200 DescriptorSet 0
                              Decorate 200 Binding 0
                              Decorate 214 ArrayStride 80
                              MemberDecorate 216(ParticleOut) 0 Offset 0
                              Decorate 216(ParticleOut) BufferBlock
                              Decorate 225 DescriptorSet 0
                              Decorate 225 Binding 1
                              MemberDecorate 675(PushConsts) 0 Offset 0
                              Decorate 675(PushConsts) Block
                              Decorate 974 BuiltIn WorkgroupSize
               4:             TypeVoid
               5:             TypeFunction 4
               7:             TypeInt 32 0
              10:      7(int) Constant 32
              11:      7(int) Constant 6
              12:      7(int) Constant 0
               9:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
              13:      7(int) Constant 3
               6:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
              16:             TypeFloat 32
              18:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12
              19:             TypeVector 16(float) 3
              20:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13
              21:             TypePointer Function 19(fvec3)
              22:      7(int) Constant 7
              23:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 22 12
              24:             TypePointer Function 16(float)
              25:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 22 12
              26:             TypeFunction 19(fvec3) 21(ptr) 21(ptr) 24(ptr)
              27:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 20 20 20 18
              35:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 36
              37:      7(int) Constant 66
              39:      7(int) Constant 1
              40:      7(int) Constant 4
              41:      7(int) Constant 2
              38:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 39 40 35 41
              34:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 27 35 37 12 38 33 13 37
              42:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 43 20 35 37 12 34 40 39
              45:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
              48:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 20 35 37 12 34 40 41
              51:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 18 35 37 12 34 40 13
              56:      7(int) Constant 72
              55:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 54 6 35 56 12 38 54 13 56
              61:      7(int) Constant 68
              59:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 60 20 35 61 12 34 40
              69:      7(int) Constant 69
              71:             TypeVector 16(float) 4
              72:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 40
              73:             TypeInt 32 1
              75:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 74 10 40 12
              76:             TypeVector 73(int) 2
              77:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 75 41
         78(UBO):             TypeStruct 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 16(float) 71(fvec4) 71(fvec4) 76(ivec2)
              81:      7(int) Constant 56
              82:      7(int) Constant 8
              79:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              83:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              84:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              85:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              86:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              87:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              88:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              89:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 18 35 81 82 12 12 13
              92:      7(int) Constant 58
              90:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 72 35 92 22 12 12 13
              93:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 91 72 35 92 22 12 12 13
              96:      7(int) Constant 59
              94:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 95 77 35 96 82 12 12 13
              97:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 98 39 35 69 12 38 98 12 13 79 83 84 85 86 87 88 89 90 93 94
              99:             TypePointer Uniform 78(UBO)
             100:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 97 41 12
     101(params):     99(ptr) Variable Uniform
             102:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 103 97 35 69 12 38 103 101(params) 82
             104:     73(int) Constant 2
             105:             TypePointer Uniform 16(float)
             106:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12
             121:             TypeVector 7(int) 3
             122:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13
             123:             TypePointer Function 121(ivec3)
             124:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 22 12
             128:      7(int) Constant 74
             126:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 127 122 35 128 12 55 40
             131:             TypePointer Input 121(ivec3)
             132:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 39 12
133(gl_GlobalInvocationID):    131(ptr) Variable Input
             134:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 122 35 128 12 38 135 133(gl_GlobalInvocationID) 82
             137:             TypePointer Function 7(int)
             138:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12
             142:      7(int) Constant 76
             140:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 9 35 142 12 55 40
             147:     73(int) Constant 10
             148:             TypePointer Uniform 73(int)
             149:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12
             159:      7(int) Constant 77
             166:             TypeBool
             168:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 167 10 41 12
             174:      7(int) Constant 78
   177(Particle):             TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float)
             180:      7(int) Constant 31
             178:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13
             181:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13
             182:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13
             183:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13
             184:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 18 35 10 82 12 12 13
             188:      7(int) Constant 81
             186:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 39 35 188 12 38 187 12 13 178 181 182 183 184
             189:             TypeRuntimeArray 177(Particle)
             190:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12
 191(ParticleIn):             TypeStruct 189
             194:      7(int) Constant 36
             195:      7(int) Constant 11
             192:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 193 190 35 194 195 12 12 13
             196:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 39 35 188 12 38 197 12 13 192
             198:             TypePointer Uniform 191(ParticleIn)
             199:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 41 12
             200:    198(ptr) Variable Uniform
             201:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 35 188 12 38 202 200 82
             203:     73(int) Constant 0
             207:     73(int) Constant 4
             210:   16(float) Constant 1065353216
             214:             TypeRuntimeArray 177(Particle)
             215:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12
216(ParticleOut):             TypeStruct 214
             219:      7(int) Constant 40
             217:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 218 215 35 219 195 12 12 13
             222:      7(int) Constant 82
             220:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 221 39 35 222 12 38 221 12 13 217
             223:             TypePointer Uniform 216(ParticleOut)
             224:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 220 41 12
             225:    223(ptr) Variable Uniform
             226:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 220 35 222 12 38 202 225 82
             231:             TypePointer Uniform 71(fvec4)
             232:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12
             238:      7(int) Constant 83
             239:     73(int) Constant 1
             240:   16(float) Constant 0
             241:   71(fvec4) ConstantComposite 240 240 240 240
             244:      7(int) Constant 84
             250:      7(int) Constant 88
             248:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40
             254:     73(int) Constant 9
             264:      7(int) Constant 90
             262:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 20 35 264 12 55 40
             274:      7(int) Constant 91
             272:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 20 35 274 12 55 40
             283:      7(int) Constant 95
             291:      7(int) Constant 96
             308:      7(int) Constant 99
             320:      7(int) Constant 100
             337:      7(int) Constant 103
             349:      7(int) Constant 104
             354:     73(int) Constant 5
             370:      7(int) Constant 107
             378:      7(int) Constant 108
             398:      7(int) Constant 111
             419:      7(int) Constant 112
             425:     73(int) Constant 6
             441:      7(int) Constant 115
             458:      7(int) Constant 116
             479:      7(int) Constant 119
             504:      7(int) Constant 120
             525:      7(int) Constant 123
             546:      7(int) Constant 124
             564:     73(int) Constant 3
             568:      7(int) Constant 127
             578:      7(int) Constant 130
             576:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 20 35 578 12 55 40
             588:      7(int) Constant 131
             595:   16(float) Constant 1056964608
             612:      7(int) Constant 132
             627:      7(int) Constant 135
             625:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 626 20 35 627 12 55 40
             634:     73(int) Constant 8
             641:      7(int) Constant 136
             643:     73(int) Constant 7
             646:   16(float) Constant 1008981770
             654:      7(int) Constant 138
             673:      7(int) Constant 140
 675(PushConsts):             TypeStruct 7(int)
             678:      7(int) Constant 63
             676:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 677 9 35 678 22 12 12 13
             681:      7(int) Constant 144
             679:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 39 35 681 12 38 680 12 13 676
             682:             TypePointer PushConstant 675(PushConsts)
             683:      7(int) Constant 9
             684:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 679 683 12
 685(pushConsts):    682(ptr) Variable PushConstant
             686:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 687 679 35 681 12 38 687 685(pushConsts) 82
             688:             TypePointer PushConstant 7(int)
             689:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 683 12
             699:      7(int) Constant 145
             698:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 20 35 699 12 55 40
             703:   19(fvec3) ConstantComposite 240 240 240
             706:      7(int) Constant 147
             714:      7(int) Constant 148
             722:      7(int) Constant 149
             720:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 20 35 722 12 55 40
             736:      7(int) Constant 150
             734:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 735 20 35 736 12 55 40
             753:      7(int) Constant 151
             751:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 753 12 55 40
             768:      7(int) Constant 152
             780:      7(int) Constant 154
             792:      7(int) Constant 155
             804:      7(int) Constant 156
             817:      7(int) Constant 157
             826:      7(int) Constant 158
             839:      7(int) Constant 161
             851:      7(int) Constant 162
             859:      7(int) Constant 163
             871:      7(int) Constant 164
             884:      7(int) Constant 165
             893:      7(int) Constant 166
             905:      7(int) Constant 168
             917:      7(int) Constant 169
             926:      7(int) Constant 170
             939:      7(int) Constant 171
             951:      7(int) Constant 172
             964:      7(int) Constant 175
             973:      7(int) Constant 10
             974:  121(ivec3) ConstantComposite 973 973 39
        14(main):           4 Function None 5
              15:             Label
         125(id):    123(ptr) Variable Function
      139(index):    137(ptr) Variable Function
      247(force):     21(ptr) Variable Function
        261(pos):     21(ptr) Variable Function
        271(vel):     21(ptr) Variable Function
      293(param):     21(ptr) Variable Function
      297(param):     21(ptr) Variable Function
      299(param):     24(ptr) Variable Function
      322(param):     21(ptr) Variable Function
      326(param):     21(ptr) Variable Function
      328(param):     24(ptr) Variable Function
      355(param):     21(ptr) Variable Function
      359(param):     21(ptr) Variable Function
      361(param):     24(ptr) Variable Function
      383(param):     21(ptr) Variable Function
      387(param):     21(ptr) Variable Function
      389(param):     24(ptr) Variable Function
      426(param):     21(ptr) Variable Function
      430(param):     21(ptr) Variable Function
      432(param):     24(ptr) Variable Function
      464(param):     21(ptr) Variable Function
      468(param):     21(ptr) Variable Function
      470(param):     24(ptr) Variable Function
      510(param):     21(ptr) Variable Function
      514(param):     21(ptr) Variable Function
      516(param):     24(ptr) Variable Function
      552(param):     21(ptr) Variable Function
      556(param):     21(ptr) Variable Function
      558(param):     24(ptr) Variable Function
          575(f):     21(ptr) Variable Function
 624(sphereDist):     21(ptr) Variable Function
     697(normal):     21(ptr) Variable Function
          719(a):     21(ptr) Variable Function
          733(b):     21(ptr) Variable Function
          750(c):     21(ptr) Variable Function
             119:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             120:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12
             118:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main)
             130:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 128 128 12 12
             129:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 126 125(id) 45
             136:  121(ivec3) Load 133(gl_GlobalInvocationID)
                              Store 125(id) 136
             144:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 142 142 12 12
             143:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(index) 45
             145:    137(ptr) AccessChain 125(id) 39
             146:      7(int) Load 145
             150:    148(ptr) AccessChain 101(params) 147 12
             151:     73(int) Load 150
             152:      7(int) Bitcast 151
             153:      7(int) IMul 146 152
             154:    137(ptr) AccessChain 125(id) 12
             155:      7(int) Load 154
             156:      7(int) IAdd 153 155
                              Store 139(index) 156
             158:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 159 159 12 12
             157:      7(int) Load 139(index)
             160:    148(ptr) AccessChain 101(params) 147 12
             161:     73(int) Load 160
             162:    148(ptr) AccessChain 101(params) 147 39
             163:     73(int) Load 162
             164:     73(int) IMul 161 163
             165:      7(int) Bitcast 164
             169:   166(bool) UGreaterThan 157 165
                              SelectionMerge 171 None
                              BranchConditional 169 170 171
             170:               Label
             172:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             173:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 174 174 12 12
                                Return
             171:             Label
             205:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             206:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 188 188 12 12
             204:      7(int) Load 139(index)
             208:    105(ptr) AccessChain 200 203 204 207
             209:   16(float) Load 208
             211:   166(bool) FOrdEqual 209 210
                              SelectionMerge 213 None
                              BranchConditional 211 212 213
             212:               Label
             228:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             229:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 222 222 12 12
             227:      7(int)   Load 139(index)
             230:      7(int)   Load 139(index)
             233:    231(ptr)   AccessChain 225 203 230 203
             234:   71(fvec4)   Load 233
             235:    231(ptr)   AccessChain 225 203 227 203
                                Store 235 234
             237:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 238 238 12 12
             236:      7(int)   Load 139(index)
             242:    231(ptr)   AccessChain 225 203 236 239
                                Store 242 241
             243:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 244 244 12 12
                                Return
             213:             Label
             252:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             253:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12
             251:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45
             255:    231(ptr) AccessChain 101(params) 254
             256:   71(fvec4) Load 255
             257:   19(fvec3) VectorShuffle 256 256 0 1 2
             258:    105(ptr) AccessChain 101(params) 239
             259:   16(float) Load 258
             260:   19(fvec3) VectorTimesScalar 257 259
                              Store 247(force) 260
             266:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12
             265:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45
             267:      7(int) Load 139(index)
             268:    231(ptr) AccessChain 200 203 267 203
             269:   71(fvec4) Load 268
             270:   19(fvec3) VectorShuffle 269 269 0 1 2
                              Store 261(pos) 270
             276:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12
             275:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45
             277:      7(int) Load 139(index)
             278:    231(ptr) AccessChain 200 203 277 239
             279:   71(fvec4) Load 278
             280:   19(fvec3) VectorShuffle 279 279 0 1 2
                              Store 271(vel) 280
             282:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12
             281:    137(ptr) AccessChain 125(id) 12
             284:      7(int) Load 281
             285:   166(bool) UGreaterThan 284 12
                              SelectionMerge 287 None
                              BranchConditional 285 286 287
             286:               Label
             289:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             290:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12
             288:      7(int)   Load 139(index)
             292:      7(int)   ISub 288 39
             294:    231(ptr)   AccessChain 200 203 292 203
             295:   71(fvec4)   Load 294
             296:   19(fvec3)   VectorShuffle 295 295 0 1 2
                                Store 293(param) 296
             298:   19(fvec3)   Load 261(pos)
                                Store 297(param) 298
             300:    105(ptr)   AccessChain 101(params) 207
             301:   16(float)   Load 300
                                Store 299(param) 301
             302:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param)
             303:   19(fvec3)   Load 247(force)
             304:   19(fvec3)   FAdd 303 302
                                Store 247(force) 304
                                Branch 287
             287:             Label
             306:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             307:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12
             305:    137(ptr) AccessChain 125(id) 12
             309:      7(int) Load 305
             310:    148(ptr) AccessChain 101(params) 147 12
             311:     73(int) Load 310
             312:     73(int) ISub 311 239
             313:      7(int) Bitcast 312
             314:   166(bool) ULessThan 309 313
                              SelectionMerge 316 None
                              BranchConditional 314 315 316
             315:               Label
             318:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             319:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12
             317:      7(int)   Load 139(index)
             321:      7(int)   IAdd 317 39
             323:    231(ptr)   AccessChain 200 203 321 203
             324:   71(fvec4)   Load 323
             325:   19(fvec3)   VectorShuffle 324 324 0 1 2
                                Store 322(param) 325
             327:   19(fvec3)   Load 261(pos)
                                Store 326(param) 327
             329:    105(ptr)   AccessChain 101(params) 207
             330:   16(float)   Load 329
                                Store 328(param) 330
             331:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param)
             332:   19(fvec3)   Load 247(force)
             333:   19(fvec3)   FAdd 332 331
                                Store 247(force) 333
                                Branch 316
             316:             Label
             335:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             336:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12
             334:    137(ptr) AccessChain 125(id) 39
             338:      7(int) Load 334
             339:    148(ptr) AccessChain 101(params) 147 39
             340:     73(int) Load 339
             341:     73(int) ISub 340 239
             342:      7(int) Bitcast 341
             343:   166(bool) ULessThan 338 342
                              SelectionMerge 345 None
                              BranchConditional 343 344 345
             344:               Label
             347:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             348:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12
             346:      7(int)   Load 139(index)
             350:    148(ptr)   AccessChain 101(params) 147 12
             351:     73(int)   Load 350
             352:      7(int)   Bitcast 351
             353:      7(int)   IAdd 346 352
             356:    231(ptr)   AccessChain 200 203 353 203
             357:   71(fvec4)   Load 356
             358:   19(fvec3)   VectorShuffle 357 357 0 1 2
                                Store 355(param) 358
             360:   19(fvec3)   Load 261(pos)
                                Store 359(param) 360
             362:    105(ptr)   AccessChain 101(params) 354
             363:   16(float)   Load 362
                                Store 361(param) 363
             364:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 355(param) 359(param) 361(param)
             365:   19(fvec3)   Load 247(force)
             366:   19(fvec3)   FAdd 365 364
                                Store 247(force) 366
                                Branch 345
             345:             Label
             368:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             369:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12
             367:    137(ptr) AccessChain 125(id) 39
             371:      7(int) Load 367
             372:   166(bool) UGreaterThan 371 12
                              SelectionMerge 374 None
                              BranchConditional 372 373 374
             373:               Label
             376:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             377:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12
             375:      7(int)   Load 139(index)
             379:    148(ptr)   AccessChain 101(params) 147 12
             380:     73(int)   Load 379
             381:      7(int)   Bitcast 380
             382:      7(int)   ISub 375 381
             384:    231(ptr)   AccessChain 200 203 382 203
             385:   71(fvec4)   Load 384
             386:   19(fvec3)   VectorShuffle 385 385 0 1 2
                                Store 383(param) 386
             388:   19(fvec3)   Load 261(pos)
                                Store 387(param) 388
             390:    105(ptr)   AccessChain 101(params) 354
             391:   16(float)   Load 390
                                Store 389(param) 391
             392:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 383(param) 387(param) 389(param)
             393:   19(fvec3)   Load 247(force)
             394:   19(fvec3)   FAdd 393 392
                                Store 247(force) 394
                                Branch 374
             374:             Label
             396:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             397:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12
             395:    137(ptr) AccessChain 125(id) 12
             399:      7(int) Load 395
             400:   166(bool) UGreaterThan 399 12
                              SelectionMerge 402 None
                              BranchConditional 400 401 402
             401:               Label
             404:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             405:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12
             403:    137(ptr)   AccessChain 125(id) 39
             406:      7(int)   Load 403
             407:    148(ptr)   AccessChain 101(params) 147 39
             408:     73(int)   Load 407
             409:     73(int)   ISub 408 239
             410:      7(int)   Bitcast 409
             411:   166(bool)   ULessThan 406 410
                                Branch 402
             402:             Label
             413:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             412:   166(bool) Phi 400 374 411 401
                              SelectionMerge 415 None
                              BranchConditional 412 414 415
             414:               Label
             417:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             418:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 419 419 12 12
             416:      7(int)   Load 139(index)
             420:    148(ptr)   AccessChain 101(params) 147 12
             421:     73(int)   Load 420
             422:      7(int)   Bitcast 421
             423:      7(int)   IAdd 416 422
             424:      7(int)   ISub 423 39
             427:    231(ptr)   AccessChain 200 203 424 203
             428:   71(fvec4)   Load 427
             429:   19(fvec3)   VectorShuffle 428 428 0 1 2
                                Store 426(param) 429
             431:   19(fvec3)   Load 261(pos)
                                Store 430(param) 431
             433:    105(ptr)   AccessChain 101(params) 425
             434:   16(float)   Load 433
                                Store 432(param) 434
             435:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param)
             436:   19(fvec3)   Load 247(force)
             437:   19(fvec3)   FAdd 436 435
                                Store 247(force) 437
                                Branch 415
             415:             Label
             439:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             440:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12
             438:    137(ptr) AccessChain 125(id) 12
             442:      7(int) Load 438
             443:   166(bool) UGreaterThan 442 12
                              SelectionMerge 445 None
                              BranchConditional 443 444 445
             444:               Label
             447:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             448:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12
             446:    137(ptr)   AccessChain 125(id) 39
             449:      7(int)   Load 446
             450:   166(bool)   UGreaterThan 449 12
                                Branch 445
             445:             Label
             452:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             451:   166(bool) Phi 443 415 450 444
                              SelectionMerge 454 None
                              BranchConditional 451 453 454
             453:               Label
             456:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             457:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 458 458 12 12
             455:      7(int)   Load 139(index)
             459:    148(ptr)   AccessChain 101(params) 147 12
             460:     73(int)   Load 459
             461:      7(int)   Bitcast 460
             462:      7(int)   ISub 455 461
             463:      7(int)   ISub 462 39
             465:    231(ptr)   AccessChain 200 203 463 203
             466:   71(fvec4)   Load 465
             467:   19(fvec3)   VectorShuffle 466 466 0 1 2
                                Store 464(param) 467
             469:   19(fvec3)   Load 261(pos)
                                Store 468(param) 469
             471:    105(ptr)   AccessChain 101(params) 425
             472:   16(float)   Load 471
                                Store 470(param) 472
             473:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 464(param) 468(param) 470(param)
             474:   19(fvec3)   Load 247(force)
             475:   19(fvec3)   FAdd 474 473
                                Store 247(force) 475
                                Branch 454
             454:             Label
             477:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             478:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12
             476:    137(ptr) AccessChain 125(id) 12
             480:      7(int) Load 476
             481:    148(ptr) AccessChain 101(params) 147 12
             482:     73(int) Load 481
             483:     73(int) ISub 482 239
             484:      7(int) Bitcast 483
             485:   166(bool) ULessThan 480 484
                              SelectionMerge 487 None
                              BranchConditional 485 486 487
             486:               Label
             489:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             490:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12
             488:    137(ptr)   AccessChain 125(id) 39
             491:      7(int)   Load 488
             492:    148(ptr)   AccessChain 101(params) 147 39
             493:     73(int)   Load 492
             494:     73(int)   ISub 493 239
             495:      7(int)   Bitcast 494
             496:   166(bool)   ULessThan 491 495
                                Branch 487
             487:             Label
             498:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             497:   166(bool) Phi 485 454 496 486
                              SelectionMerge 500 None
                              BranchConditional 497 499 500
             499:               Label
             502:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             503:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 504 504 12 12
             501:      7(int)   Load 139(index)
             505:    148(ptr)   AccessChain 101(params) 147 12
             506:     73(int)   Load 505
             507:      7(int)   Bitcast 506
             508:      7(int)   IAdd 501 507
             509:      7(int)   IAdd 508 39
             511:    231(ptr)   AccessChain 200 203 509 203
             512:   71(fvec4)   Load 511
             513:   19(fvec3)   VectorShuffle 512 512 0 1 2
                                Store 510(param) 513
             515:   19(fvec3)   Load 261(pos)
                                Store 514(param) 515
             517:    105(ptr)   AccessChain 101(params) 425
             518:   16(float)   Load 517
                                Store 516(param) 518
             519:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 510(param) 514(param) 516(param)
             520:   19(fvec3)   Load 247(force)
             521:   19(fvec3)   FAdd 520 519
                                Store 247(force) 521
                                Branch 500
             500:             Label
             523:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             524:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12
             522:    137(ptr) AccessChain 125(id) 12
             526:      7(int) Load 522
             527:    148(ptr) AccessChain 101(params) 147 12
             528:     73(int) Load 527
             529:     73(int) ISub 528 239
             530:      7(int) Bitcast 529
             531:   166(bool) ULessThan 526 530
                              SelectionMerge 533 None
                              BranchConditional 531 532 533
             532:               Label
             535:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             536:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12
             534:    137(ptr)   AccessChain 125(id) 39
             537:      7(int)   Load 534
             538:   166(bool)   UGreaterThan 537 12
                                Branch 533
             533:             Label
             540:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             539:   166(bool) Phi 531 500 538 532
                              SelectionMerge 542 None
                              BranchConditional 539 541 542
             541:               Label
             544:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             545:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 546 546 12 12
             543:      7(int)   Load 139(index)
             547:    148(ptr)   AccessChain 101(params) 147 12
             548:     73(int)   Load 547
             549:      7(int)   Bitcast 548
             550:      7(int)   ISub 543 549
             551:      7(int)   IAdd 550 39
             553:    231(ptr)   AccessChain 200 203 551 203
             554:   71(fvec4)   Load 553
             555:   19(fvec3)   VectorShuffle 554 554 0 1 2
                                Store 552(param) 555
             557:   19(fvec3)   Load 261(pos)
                                Store 556(param) 557
             559:    105(ptr)   AccessChain 101(params) 425
             560:   16(float)   Load 559
                                Store 558(param) 560
             561:   19(fvec3)   FunctionCall 31(springForce(vf3;vf3;f1;) 552(param) 556(param) 558(param)
             562:   19(fvec3)   Load 247(force)
             563:   19(fvec3)   FAdd 562 561
                                Store 247(force) 563
                                Branch 542
             542:             Label
             566:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             567:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12
             565:    105(ptr) AccessChain 101(params) 564
             569:   16(float) Load 565
             570:   16(float) FNegate 569
             571:   19(fvec3) Load 271(vel)
             572:   19(fvec3) VectorTimesScalar 571 570
             573:   19(fvec3) Load 247(force)
             574:   19(fvec3) FAdd 573 572
                              Store 247(force) 574
             580:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 578 578 12 12
             579:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(f) 45
             581:   19(fvec3) Load 247(force)
             582:    105(ptr) AccessChain 101(params) 239
             583:   16(float) Load 582
             584:   16(float) FDiv 210 583
             585:   19(fvec3) VectorTimesScalar 581 584
                              Store 575(f) 585
             587:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 588 588 12 12
             586:      7(int) Load 139(index)
             589:   19(fvec3) Load 261(pos)
             590:   19(fvec3) Load 271(vel)
             591:    105(ptr) AccessChain 101(params) 203
             592:   16(float) Load 591
             593:   19(fvec3) VectorTimesScalar 590 592
             594:   19(fvec3) FAdd 589 593
             596:   19(fvec3) Load 575(f)
             597:   19(fvec3) VectorTimesScalar 596 595
             598:    105(ptr) AccessChain 101(params) 203
             599:   16(float) Load 598
             600:   19(fvec3) VectorTimesScalar 597 599
             601:    105(ptr) AccessChain 101(params) 203
             602:   16(float) Load 601
             603:   19(fvec3) VectorTimesScalar 600 602
             604:   19(fvec3) FAdd 594 603
             605:   16(float) CompositeExtract 604 0
             606:   16(float) CompositeExtract 604 1
             607:   16(float) CompositeExtract 604 2
             608:   71(fvec4) CompositeConstruct 605 606 607 210
             609:    231(ptr) AccessChain 225 203 586 203
                              Store 609 608
             611:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 612 612 12 12
             610:      7(int) Load 139(index)
             613:   19(fvec3) Load 271(vel)
             614:   19(fvec3) Load 575(f)
             615:    105(ptr) AccessChain 101(params) 203
             616:   16(float) Load 615
             617:   19(fvec3) VectorTimesScalar 614 616
             618:   19(fvec3) FAdd 613 617
             619:   16(float) CompositeExtract 618 0
             620:   16(float) CompositeExtract 618 1
             621:   16(float) CompositeExtract 618 2
             622:   71(fvec4) CompositeConstruct 619 620 621 240
             623:    231(ptr) AccessChain 225 203 610 239
                              Store 623 622
             629:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12
             628:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 625 624(sphereDist) 45
             630:      7(int) Load 139(index)
             631:    231(ptr) AccessChain 225 203 630 203
             632:   71(fvec4) Load 631
             633:   19(fvec3) VectorShuffle 632 632 0 1 2
             635:    231(ptr) AccessChain 101(params) 634
             636:   71(fvec4) Load 635
             637:   19(fvec3) VectorShuffle 636 636 0 1 2
             638:   19(fvec3) FSub 633 637
                              Store 624(sphereDist) 638
             640:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 641 641 12 12
             639:   19(fvec3) Load 624(sphereDist)
             642:   16(float) ExtInst 3(GLSL.std.450) 66(Length) 639
             644:    105(ptr) AccessChain 101(params) 643
             645:   16(float) Load 644
             647:   16(float) FAdd 645 646
             648:   166(bool) FOrdLessThan 642 647
                              SelectionMerge 650 None
                              BranchConditional 648 649 650
             649:               Label
             652:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             653:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 654 654 12 12
             651:      7(int)   Load 139(index)
             655:    231(ptr)   AccessChain 101(params) 634
             656:   71(fvec4)   Load 655
             657:   19(fvec3)   VectorShuffle 656 656 0 1 2
             658:   19(fvec3)   Load 624(sphereDist)
             659:   19(fvec3)   ExtInst 3(GLSL.std.450) 69(Normalize) 658
             660:    105(ptr)   AccessChain 101(params) 643
             661:   16(float)   Load 660
             662:   16(float)   FAdd 661 646
             663:   19(fvec3)   VectorTimesScalar 659 662
             664:   19(fvec3)   FAdd 657 663
             665:    105(ptr)   AccessChain 225 203 651 203 12
             666:   16(float)   CompositeExtract 664 0
                                Store 665 666
             667:    105(ptr)   AccessChain 225 203 651 203 39
             668:   16(float)   CompositeExtract 664 1
                                Store 667 668
             669:    105(ptr)   AccessChain 225 203 651 203 41
             670:   16(float)   CompositeExtract 664 2
                                Store 669 670
             672:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 673 673 12 12
             671:      7(int)   Load 139(index)
             674:    231(ptr)   AccessChain 225 203 671 239
                                Store 674 241
                                Branch 650
             650:             Label
             691:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             692:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 681 681 12 12
             690:    688(ptr) AccessChain 685(pushConsts) 203
             693:      7(int) Load 690
             694:   166(bool) IEqual 693 39
                              SelectionMerge 696 None
                              BranchConditional 694 695 696
             695:               Label
             701:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             702:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 699 699 12 12
             700:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 698 697(normal) 45
                                Store 697(normal) 703
             705:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 706 706 12 12
             704:    137(ptr)   AccessChain 125(id) 39
             707:      7(int)   Load 704
             708:   166(bool)   UGreaterThan 707 12
                                SelectionMerge 710 None
                                BranchConditional 708 709 710
             709:                 Label
             712:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             713:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12
             711:    137(ptr)     AccessChain 125(id) 12
             715:      7(int)     Load 711
             716:   166(bool)     UGreaterThan 715 12
                                  SelectionMerge 718 None
                                  BranchConditional 716 717 718
             717:                   Label
             724:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             725:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 722 722 12 12
             723:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(a) 45
             726:      7(int)       Load 139(index)
             727:      7(int)       ISub 726 39
             728:    231(ptr)       AccessChain 200 203 727 203
             729:   71(fvec4)       Load 728
             730:   19(fvec3)       VectorShuffle 729 729 0 1 2
             731:   19(fvec3)       Load 261(pos)
             732:   19(fvec3)       FSub 730 731
                                    Store 719(a) 732
             738:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 736 736 12 12
             737:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 734 733(b) 45
             739:      7(int)       Load 139(index)
             740:    148(ptr)       AccessChain 101(params) 147 12
             741:     73(int)       Load 740
             742:      7(int)       Bitcast 741
             743:      7(int)       ISub 739 742
             744:      7(int)       ISub 743 39
             745:    231(ptr)       AccessChain 200 203 744 203
             746:   71(fvec4)       Load 745
             747:   19(fvec3)       VectorShuffle 746 746 0 1 2
             748:   19(fvec3)       Load 261(pos)
             749:   19(fvec3)       FSub 747 748
                                    Store 733(b) 749
             755:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 753 753 12 12
             754:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(c) 45
             756:      7(int)       Load 139(index)
             757:    148(ptr)       AccessChain 101(params) 147 12
             758:     73(int)       Load 757
             759:      7(int)       Bitcast 758
             760:      7(int)       ISub 756 759
             761:    231(ptr)       AccessChain 200 203 760 203
             762:   71(fvec4)       Load 761
             763:   19(fvec3)       VectorShuffle 762 762 0 1 2
             764:   19(fvec3)       Load 261(pos)
             765:   19(fvec3)       FSub 763 764
                                    Store 750(c) 765
             767:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 768 768 12 12
             766:   19(fvec3)       Load 719(a)
             769:   19(fvec3)       Load 733(b)
             770:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 766 769
             771:   19(fvec3)       Load 733(b)
             772:   19(fvec3)       Load 750(c)
             773:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 771 772
             774:   19(fvec3)       FAdd 770 773
             775:   19(fvec3)       Load 697(normal)
             776:   19(fvec3)       FAdd 775 774
                                    Store 697(normal) 776
                                    Branch 718
             718:                 Label
             778:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             779:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 780 780 12 12
             777:    137(ptr)     AccessChain 125(id) 12
             781:      7(int)     Load 777
             782:    148(ptr)     AccessChain 101(params) 147 12
             783:     73(int)     Load 782
             784:     73(int)     ISub 783 239
             785:      7(int)     Bitcast 784
             786:   166(bool)     ULessThan 781 785
                                  SelectionMerge 788 None
                                  BranchConditional 786 787 788
             787:                   Label
             790:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             791:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 792 792 12 12
             789:      7(int)       Load 139(index)
             793:    148(ptr)       AccessChain 101(params) 147 12
             794:     73(int)       Load 793
             795:      7(int)       Bitcast 794
             796:      7(int)       ISub 789 795
             797:    231(ptr)       AccessChain 200 203 796 203
             798:   71(fvec4)       Load 797
             799:   19(fvec3)       VectorShuffle 798 798 0 1 2
             800:   19(fvec3)       Load 261(pos)
             801:   19(fvec3)       FSub 799 800
                                    Store 719(a) 801
             803:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 804 804 12 12
             802:      7(int)       Load 139(index)
             805:    148(ptr)       AccessChain 101(params) 147 12
             806:     73(int)       Load 805
             807:      7(int)       Bitcast 806
             808:      7(int)       ISub 802 807
             809:      7(int)       IAdd 808 39
             810:    231(ptr)       AccessChain 200 203 809 203
             811:   71(fvec4)       Load 810
             812:   19(fvec3)       VectorShuffle 811 811 0 1 2
             813:   19(fvec3)       Load 261(pos)
             814:   19(fvec3)       FSub 812 813
                                    Store 733(b) 814
             816:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 817 817 12 12
             815:      7(int)       Load 139(index)
             818:      7(int)       IAdd 815 39
             819:    231(ptr)       AccessChain 200 203 818 203
             820:   71(fvec4)       Load 819
             821:   19(fvec3)       VectorShuffle 820 820 0 1 2
             822:   19(fvec3)       Load 261(pos)
             823:   19(fvec3)       FSub 821 822
                                    Store 750(c) 823
             825:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 826 826 12 12
             824:   19(fvec3)       Load 719(a)
             827:   19(fvec3)       Load 733(b)
             828:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 824 827
             829:   19(fvec3)       Load 733(b)
             830:   19(fvec3)       Load 750(c)
             831:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 829 830
             832:   19(fvec3)       FAdd 828 831
             833:   19(fvec3)       Load 697(normal)
             834:   19(fvec3)       FAdd 833 832
                                    Store 697(normal) 834
                                    Branch 788
             788:                 Label
             835:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
                                  Branch 710
             710:               Label
             837:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             838:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 839 839 12 12
             836:    137(ptr)   AccessChain 125(id) 39
             840:      7(int)   Load 836
             841:    148(ptr)   AccessChain 101(params) 147 39
             842:     73(int)   Load 841
             843:     73(int)   ISub 842 239
             844:      7(int)   Bitcast 843
             845:   166(bool)   ULessThan 840 844
                                SelectionMerge 847 None
                                BranchConditional 845 846 847
             846:                 Label
             849:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             850:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 851 851 12 12
             848:    137(ptr)     AccessChain 125(id) 12
             852:      7(int)     Load 848
             853:   166(bool)     UGreaterThan 852 12
                                  SelectionMerge 855 None
                                  BranchConditional 853 854 855
             854:                   Label
             857:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             858:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12
             856:      7(int)       Load 139(index)
             860:    148(ptr)       AccessChain 101(params) 147 12
             861:     73(int)       Load 860
             862:      7(int)       Bitcast 861
             863:      7(int)       IAdd 856 862
             864:    231(ptr)       AccessChain 200 203 863 203
             865:   71(fvec4)       Load 864
             866:   19(fvec3)       VectorShuffle 865 865 0 1 2
             867:   19(fvec3)       Load 261(pos)
             868:   19(fvec3)       FSub 866 867
                                    Store 719(a) 868
             870:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12
             869:      7(int)       Load 139(index)
             872:    148(ptr)       AccessChain 101(params) 147 12
             873:     73(int)       Load 872
             874:      7(int)       Bitcast 873
             875:      7(int)       IAdd 869 874
             876:      7(int)       ISub 875 39
             877:    231(ptr)       AccessChain 200 203 876 203
             878:   71(fvec4)       Load 877
             879:   19(fvec3)       VectorShuffle 878 878 0 1 2
             880:   19(fvec3)       Load 261(pos)
             881:   19(fvec3)       FSub 879 880
                                    Store 733(b) 881
             883:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 884 884 12 12
             882:      7(int)       Load 139(index)
             885:      7(int)       ISub 882 39
             886:    231(ptr)       AccessChain 200 203 885 203
             887:   71(fvec4)       Load 886
             888:   19(fvec3)       VectorShuffle 887 887 0 1 2
             889:   19(fvec3)       Load 261(pos)
             890:   19(fvec3)       FSub 888 889
                                    Store 750(c) 890
             892:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12
             891:   19(fvec3)       Load 719(a)
             894:   19(fvec3)       Load 733(b)
             895:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 891 894
             896:   19(fvec3)       Load 733(b)
             897:   19(fvec3)       Load 750(c)
             898:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 896 897
             899:   19(fvec3)       FAdd 895 898
             900:   19(fvec3)       Load 697(normal)
             901:   19(fvec3)       FAdd 900 899
                                    Store 697(normal) 901
                                    Branch 855
             855:                 Label
             903:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             904:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 905 905 12 12
             902:    137(ptr)     AccessChain 125(id) 12
             906:      7(int)     Load 902
             907:    148(ptr)     AccessChain 101(params) 147 12
             908:     73(int)     Load 907
             909:     73(int)     ISub 908 239
             910:      7(int)     Bitcast 909
             911:   166(bool)     ULessThan 906 910
                                  SelectionMerge 913 None
                                  BranchConditional 911 912 913
             912:                   Label
             915:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             916:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12
             914:      7(int)       Load 139(index)
             918:      7(int)       IAdd 914 39
             919:    231(ptr)       AccessChain 200 203 918 203
             920:   71(fvec4)       Load 919
             921:   19(fvec3)       VectorShuffle 920 920 0 1 2
             922:   19(fvec3)       Load 261(pos)
             923:   19(fvec3)       FSub 921 922
                                    Store 719(a) 923
             925:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 926 926 12 12
             924:      7(int)       Load 139(index)
             927:    148(ptr)       AccessChain 101(params) 147 12
             928:     73(int)       Load 927
             929:      7(int)       Bitcast 928
             930:      7(int)       IAdd 924 929
             931:      7(int)       IAdd 930 39
             932:    231(ptr)       AccessChain 200 203 931 203
             933:   71(fvec4)       Load 932
             934:   19(fvec3)       VectorShuffle 933 933 0 1 2
             935:   19(fvec3)       Load 261(pos)
             936:   19(fvec3)       FSub 934 935
                                    Store 733(b) 936
             938:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12
             937:      7(int)       Load 139(index)
             940:    148(ptr)       AccessChain 101(params) 147 12
             941:     73(int)       Load 940
             942:      7(int)       Bitcast 941
             943:      7(int)       IAdd 937 942
             944:    231(ptr)       AccessChain 200 203 943 203
             945:   71(fvec4)       Load 944
             946:   19(fvec3)       VectorShuffle 945 945 0 1 2
             947:   19(fvec3)       Load 261(pos)
             948:   19(fvec3)       FSub 946 947
                                    Store 750(c) 948
             950:           4       ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12
             949:   19(fvec3)       Load 719(a)
             952:   19(fvec3)       Load 733(b)
             953:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 949 952
             954:   19(fvec3)       Load 733(b)
             955:   19(fvec3)       Load 750(c)
             956:   19(fvec3)       ExtInst 3(GLSL.std.450) 68(Cross) 954 955
             957:   19(fvec3)       FAdd 953 956
             958:   19(fvec3)       Load 697(normal)
             959:   19(fvec3)       FAdd 958 957
                                    Store 697(normal) 959
                                    Branch 913
             913:                 Label
             960:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
                                  Branch 847
             847:               Label
             962:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
             963:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 964 964 12 12
             961:      7(int)   Load 139(index)
             965:   19(fvec3)   Load 697(normal)
             966:   19(fvec3)   ExtInst 3(GLSL.std.450) 69(Normalize) 965
             967:   16(float)   CompositeExtract 966 0
             968:   16(float)   CompositeExtract 966 1
             969:   16(float)   CompositeExtract 966 2
             970:   71(fvec4)   CompositeConstruct 967 968 969 240
             971:    231(ptr)   AccessChain 225 203 961 564
                                Store 971 970
                                Branch 696
             696:             Label
             972:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55
                              Return
                              FunctionEnd
31(springForce(vf3;vf3;f1;):   19(fvec3) Function None 26
          28(p0):     21(ptr) FunctionParameter
          29(p1):     21(ptr) FunctionParameter
    30(restDist):     24(ptr) FunctionParameter
              32:             Label
        58(dist):     21(ptr) Variable Function
              46:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
              47:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 37 37 12 12
              44:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 42 28(p0) 45
              50:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 29(p1) 45
              53:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 30(restDist) 45
              57:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(springForce(vf3;vf3;f1;)
              63:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 61 61 12 12
              62:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 59 58(dist) 45
              64:   19(fvec3) Load 28(p0)
              65:   19(fvec3) Load 29(p1)
              66:   19(fvec3) FSub 64 65
                              Store 58(dist) 66
              68:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 69 69 12 12
              67:   19(fvec3) Load 58(dist)
              70:   19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 67
             107:    105(ptr) AccessChain 101(params) 104
             108:   16(float) Load 107
             109:   19(fvec3) VectorTimesScalar 70 108
             110:   19(fvec3) Load 58(dist)
             111:   16(float) ExtInst 3(GLSL.std.450) 66(Length) 110
             112:   16(float) Load 30(restDist)
             113:   16(float) FSub 111 112
             114:   19(fvec3) VectorTimesScalar 109 113
                              ReturnValue 114
                              FunctionEnd
