$0 = u1[0] (float, L3) $1 = u1[1] (float, L3) $2 = u1[2] (float, L3) $3 = u1[3] (float, L3) $4 = u2[0] (float, L8) $5 = u2[1] (float, L8) $6 = u2[2] (float, L8) $7 = u2[3] (float, L8) $8 = u3[0] (float, L17) $9 = u3[1] (float, L17) $10 = u3[2] (float, L17) $11 = u3[3] (float, L17) $12 = u4[0] (float, L26) $13 = u4[1] (float, L26) $14 = u4[2] (float, L26) $15 = u4[3] (float, L26) $16 = u4[4] (float, L26) $17 = u4[5] (float, L26) $18 = u4[6] (float, L26) $19 = u4[7] (float, L26) $20 = u4[8] (float, L26) $21 = u4[9] (float, L26) $22 = u4[10] (float, L26) $23 = u4[11] (float, L26) $24 = u4[12] (float, L26) $25 = u4[13] (float, L26) $26 = u4[14] (float, L26) $27 = u4[15] (float, L26) $28 = xy (float2 : slot 1/2, L37) $29 = xy (float2 : slot 2/2, L37) $30 = sum (float, L10) $31 = i (int, L11) $32 = prod (float, L19) $33 = i (int, L20) $34 = sum (float, L28) $35 = f (float, L29) F0 = float4 main(float2 xy) F1 = float index_by_literal() F2 = float index_by_loop() F3 = float index_by_complex_loop() F4 = float index_out_of_bounds_checked() 54 registers, 171 instructions: 0 r0 = uniform32 ptr0 0 1 r1 = uniform32 ptr0 4 2 r2 = uniform32 ptr0 8 3 r3 = uniform32 ptr0 C 4 r4 = uniform32 ptr0 10 5 r5 = uniform32 ptr0 14 6 r6 = uniform32 ptr0 18 7 r7 = uniform32 ptr0 1C 8 r8 = uniform32 ptr0 20 9 r9 = uniform32 ptr0 24 10 r10 = uniform32 ptr0 28 11 r11 = uniform32 ptr0 2C 12 r12 = uniform32 ptr0 30 13 r13 = uniform32 ptr0 34 14 r14 = uniform32 ptr0 38 15 r15 = uniform32 ptr0 3C 16 r16 = uniform32 ptr0 40 17 r17 = uniform32 ptr0 44 18 r18 = uniform32 ptr0 48 19 r19 = uniform32 ptr0 4C 20 r20 = uniform32 ptr0 50 21 r21 = uniform32 ptr0 54 22 r22 = uniform32 ptr0 58 23 r23 = uniform32 ptr0 5C 24 r24 = uniform32 ptr0 60 25 r25 = uniform32 ptr0 64 26 r26 = uniform32 ptr0 68 27 r27 = uniform32 ptr0 6C 28 r28 = uniform32 ptr0 70 29 r29 = splat 0 (0) 30 r30 = splat 3F000000 (0.5) 31 r31 = eq_f32 r0 r30 32 r32 = splat 3 (4.2038954e-45) 33 r33 = splat 2 (2.8025969e-45) 34 r34 = add_f32 r7 r8 35 r35 = splat 1 (1.4012985e-45) 36 r36 = add_f32 r6 r34 37 r37 = add_f32 r5 r36 38 r38 = splat 3F800000 (1) 39 r39 = mul_f32 r9 r9 40 r40 = mul_f32 r11 r39 41 r41 = mul_f32 r12 r40 42 r42 = splat C0133333 (-2.3) 43 r43 = splat 3FB33334 (1.4000001) 44 r44 = sub_f32 r29 r14 45 r45 = splat 40A33334 (5.1000004) 46 r46 = sub_f32 r44 r18 47 r47 = splat 410CCCCD (8.8000002) 48 r48 = sub_f32 r46 r21 49 r49 = splat 41480000 (12.5) 50 r50 = sub_f32 r48 r25 51 r51 = splat 4181999A (16.200001) loop: 52 r52 = index 53 r53 = eq_f32 r52 r30 54 r53 = bit_and r53 r31 55 trace_var r53 $0 = r1 56 trace_var r53 $1 = r2 57 trace_var r53 $2 = r3 58 trace_var r53 $3 = r4 59 trace_var r53 $4 = r5 60 trace_var r53 $5 = r6 61 trace_var r53 $6 = r7 62 trace_var r53 $7 = r8 63 trace_var r53 $8 = r9 64 trace_var r53 $9 = r10 65 trace_var r53 $10 = r11 66 trace_var r53 $11 = r12 67 trace_var r53 $12 = r13 68 trace_var r53 $13 = r14 69 trace_var r53 $14 = r15 70 trace_var r53 $15 = r16 71 trace_var r53 $16 = r17 72 trace_var r53 $17 = r18 73 trace_var r53 $18 = r19 74 trace_var r53 $19 = r20 75 trace_var r53 $20 = r21 76 trace_var r53 $21 = r22 77 trace_var r53 $22 = r23 78 trace_var r53 $23 = r24 79 trace_var r53 $24 = r25 80 trace_var r53 $25 = r26 81 trace_var r53 $26 = r27 82 trace_var r53 $27 = r28 83 trace_enter r53 F0 84 trace_var r53 $28 = r52 85 trace_var r53 $29 = r0 86 trace_line r53 L38 87 trace_enter r53 F1 88 trace_line r53 L5 89 trace_exit r53 F1 90 trace_enter r53 F2 91 trace_line r53 L10 92 trace_var r53 $30 = r29 93 trace_line r53 L11 94 trace_var r53 $31 = r32 95 trace_line r53 L12 96 trace_var r53 $30 = r8 97 trace_line r53 L11 98 trace_var r53 $31 = r33 99 trace_line r53 L12 100 trace_var r53 $30 = r34 101 trace_line r53 L11 102 trace_var r53 $31 = r35 103 trace_line r53 L12 104 trace_var r53 $30 = r36 105 trace_line r53 L11 106 trace_var r53 $31 = r29 107 trace_line r53 L12 108 trace_var r53 $30 = r37 109 trace_line r53 L11 110 trace_line r53 L14 111 trace_exit r53 F2 112 trace_enter r53 F3 113 trace_line r53 L19 114 trace_var r53 $32 = r38 115 trace_line r53 L20 116 trace_var r53 $33 = r29 117 trace_line r53 L21 118 trace_var r53 $32 = r9 119 trace_line r53 L20 120 trace_var r53 $33 = r35 121 trace_line r53 L21 122 trace_var r53 $32 = r39 123 trace_line r53 L20 124 trace_var r53 $33 = r33 125 trace_line r53 L21 126 trace_var r53 $32 = r40 127 trace_line r53 L20 128 trace_var r53 $33 = r32 129 trace_line r53 L21 130 trace_var r53 $32 = r41 131 trace_line r53 L20 132 trace_line r53 L23 133 trace_exit r53 F3 134 trace_enter r53 F4 135 trace_line r53 L28 136 trace_var r53 $34 = r29 137 trace_line r53 L29 138 trace_var r53 $35 = r42 139 trace_line r53 L30 140 trace_line r53 L29 141 trace_var r53 $35 = r43 142 trace_line r53 L30 143 trace_line r53 L31 144 trace_var r53 $34 = r44 145 trace_line r53 L29 146 trace_var r53 $35 = r45 147 trace_line r53 L30 148 trace_line r53 L31 149 trace_var r53 $34 = r46 150 trace_line r53 L29 151 trace_var r53 $35 = r47 152 trace_line r53 L30 153 trace_line r53 L31 154 trace_var r53 $34 = r48 155 trace_line r53 L29 156 trace_var r53 $35 = r49 157 trace_line r53 L30 158 trace_line r53 L31 159 trace_var r53 $34 = r50 160 trace_line r53 L29 161 trace_var r53 $35 = r51 162 trace_line r53 L30 163 trace_line r53 L29 164 trace_line r53 L34 165 trace_exit r53 F4 166 trace_exit r53 F0 167 store32 ptr1 r1 168 store32 ptr2 r37 169 store32 ptr3 r41 170 store32 ptr4 r50