    1. store_device_xy01              $10..13 = DeviceCoords.xy01
    2. copy_constant                  $12 = 0x3F000000 (0.5)
    3. copy_constant                  $13 = 0x3F000000 (0.5)
    4. cmpeq_2_floats                 $10..11 = equal($10..11, $12..13)
    5. bitwise_and_int                $10 &= $11
    6. store_src_rg                   xy = src.rg
    7. init_lane_masks                CondMask = LoopMask = RetMask = true
    8. trace_enter                    TraceEnter(float4 main(float2 xy)) when $10 is true
    9. trace_var                      TraceVar(xy) when $10 is true
   10. trace_scope                    TraceScope(+1) when $10 is true
   11. trace_line                     TraceLine(38) when $10 is true
   12. trace_enter                    TraceEnter(float index_by_literal()) when $10 is true
   13. trace_scope                    TraceScope(+1) when $10 is true
   14. trace_line                     TraceLine(5) when $10 is true
   15. copy_constant                  $0 = u1[0]
   16. copy_slot_unmasked             [index_by_literal].result = $0
   17. trace_var                      TraceVar([index_by_literal].result) when $10 is true
   18. trace_scope                    TraceScope(-1) when $10 is true
   19. trace_exit                     TraceExit(float index_by_literal()) when $10 is true
   20. copy_slot_unmasked             $0 = [index_by_literal].result
   21. label                          label 0x00000000
   22. trace_enter                    TraceEnter(float index_by_loop()) when $10 is true
   23. trace_scope                    TraceScope(+1) when $10 is true
   24. trace_line                     TraceLine(10) when $10 is true
   25. zero_slot_unmasked             sum = 0
   26. trace_var                      TraceVar(sum) when $10 is true
   27. trace_scope                    TraceScope(+1) when $10 is true
   28. trace_line                     TraceLine(11) when $10 is true
   29. copy_constant                  i = 0x00000003 (4.203895e-45)
   30. trace_var                      TraceVar(i) when $10 is true
   31. label                          label 0x00000003
   32. trace_scope                    TraceScope(+1) when $10 is true
   33. trace_line                     TraceLine(12) when $10 is true
   34. copy_slot_unmasked             $1 = sum
   35. copy_slot_unmasked             $7 = i
   36. copy_from_indirect_uniform_unm $2 = Indirect(u2[0] + $7)
   37. add_float                      $1 += $2
   38. copy_slot_unmasked             sum = $1
   39. trace_var                      TraceVar(sum) when $10 is true
   40. trace_scope                    TraceScope(-1) when $10 is true
   41. trace_line                     TraceLine(11) when $10 is true
   42. copy_slot_unmasked             $1 = i
   43. copy_constant                  $2 = 0x00000001 (1.401298e-45)
   44. sub_int                        $1 -= $2
   45. copy_slot_unmasked             i = $1
   46. trace_var                      TraceVar(i) when $10 is true
   47. zero_slot_unmasked             $1 = 0
   48. copy_slot_unmasked             $2 = i
   49. cmple_int                      $1 = lessThanEqual($1, $2)
   50. stack_rewind
   51. branch_if_no_active_lanes_eq   branch -20 (label 3 at #31) if no lanes of $1 == 0x00000000 (0.0)
   52. label                          label 0x00000002
   53. trace_scope                    TraceScope(-1) when $10 is true
   54. trace_line                     TraceLine(14) when $10 is true
   55. copy_slot_unmasked             [index_by_loop].result = sum
   56. trace_var                      TraceVar([index_by_loop].result) when $10 is true
   57. trace_scope                    TraceScope(-1) when $10 is true
   58. trace_exit                     TraceExit(float index_by_loop()) when $10 is true
   59. copy_slot_unmasked             $1 = [index_by_loop].result
   60. label                          label 0x00000001
   61. trace_enter                    TraceEnter(float index_by_complex_loop()) when $10 is true
   62. trace_scope                    TraceScope(+1) when $10 is true
   63. trace_line                     TraceLine(19) when $10 is true
   64. copy_constant                  prod = 0x3F800000 (1.0)
   65. trace_var                      TraceVar(prod) when $10 is true
   66. trace_scope                    TraceScope(+1) when $10 is true
   67. trace_line                     TraceLine(20) when $10 is true
   68. zero_slot_unmasked             i₁ = 0
   69. trace_var                      TraceVar(i₁) when $10 is true
   70. label                          label 0x00000006
   71. trace_scope                    TraceScope(+1) when $10 is true
   72. trace_line                     TraceLine(21) when $10 is true
   73. copy_slot_unmasked             $2 = prod
   74. copy_slot_unmasked             $7 = i₁
   75. copy_constant                  $8 = 0x00000002 (2.802597e-45)
   76. cmplt_int                      $7 = lessThan($7, $8)
   77. copy_slot_unmasked             $8 = i₁
   78. zero_slot_unmasked             $9 = 0
   79. mix_int                        $7 = mix($8, $9, $7)
   80. copy_from_indirect_uniform_unm $3 = Indirect(u3[0] + $7)
   81. mul_float                      $2 *= $3
   82. copy_slot_unmasked             prod = $2
   83. trace_var                      TraceVar(prod) when $10 is true
   84. trace_scope                    TraceScope(-1) when $10 is true
   85. trace_line                     TraceLine(20) when $10 is true
   86. copy_slot_unmasked             $2 = i₁
   87. copy_constant                  $3 = 0x00000001 (1.401298e-45)
   88. add_int                        $2 += $3
   89. copy_slot_unmasked             i₁ = $2
   90. trace_var                      TraceVar(i₁) when $10 is true
   91. copy_slot_unmasked             $2 = i₁
   92. copy_constant                  $3 = 0x00000004 (5.605194e-45)
   93. cmplt_int                      $2 = lessThan($2, $3)
   94. stack_rewind
   95. branch_if_no_active_lanes_eq   branch -25 (label 6 at #70) if no lanes of $2 == 0x00000000 (0.0)
   96. label                          label 0x00000005
   97. trace_scope                    TraceScope(-1) when $10 is true
   98. trace_line                     TraceLine(23) when $10 is true
   99. copy_slot_unmasked             [index_by_complex_loop].result = prod
  100. trace_var                      TraceVar([index_by_complex_loop].result) when $10 is true
  101. trace_scope                    TraceScope(-1) when $10 is true
  102. trace_exit                     TraceExit(float index_by_complex_loop()) when $10 is true
  103. copy_slot_unmasked             $2 = [index_by_complex_loop].result
  104. label                          label 0x00000004
  105. trace_enter                    TraceEnter(float index_out_of_bounds_checked()) when $10 is true
  106. trace_scope                    TraceScope(+1) when $10 is true
  107. trace_line                     TraceLine(28) when $10 is true
  108. zero_slot_unmasked             sum₁ = 0
  109. trace_var                      TraceVar(sum₁) when $10 is true
  110. trace_scope                    TraceScope(+1) when $10 is true
  111. trace_line                     TraceLine(29) when $10 is true
  112. copy_constant                  f = 0xC0133333 (-2.3)
  113. trace_var                      TraceVar(f) when $10 is true
  114. label                          label 0x0000000A
  115. trace_scope                    TraceScope(+1) when $10 is true
  116. trace_line                     TraceLine(30) when $10 is true
  117. store_condition_mask           $3 = CondMask
  118. zero_slot_unmasked             $4 = 0
  119. copy_slot_unmasked             $5 = f
  120. cmplt_float                    $4 = lessThan($4, $5)
  121. copy_slot_unmasked             $5 = f
  122. copy_constant                  $6 = 0x41800000 (16.0)
  123. cmplt_float                    $5 = lessThan($5, $6)
  124. bitwise_and_int                $4 &= $5
  125. merge_condition_mask           CondMask = $3 & $4
  126. trace_scope                    TraceScope(+1) when $10 is true
  127. trace_line                     TraceLine(31) when $10 is true
  128. copy_slot_unmasked             $5 = sum₁
  129. copy_slot_unmasked             $7 = f
  130. cast_to_int_from_float         $7 = FloatToInt($7)
  131. copy_from_indirect_uniform_unm $6 = Indirect(u4[0] + $7)
  132. sub_float                      $5 -= $6
  133. copy_slot_masked               sum₁ = Mask($5)
  134. trace_var                      TraceVar(sum₁) when $10 is true
  135. trace_scope                    TraceScope(-1) when $10 is true
  136. load_condition_mask            CondMask = $3
  137. trace_scope                    TraceScope(-1) when $10 is true
  138. trace_line                     TraceLine(29) when $10 is true
  139. copy_slot_unmasked             $3 = f
  140. copy_constant                  $4 = 0x406CCCCD (3.7)
  141. add_float                      $3 += $4
  142. copy_slot_unmasked             f = $3
  143. trace_var                      TraceVar(f) when $10 is true
  144. copy_slot_unmasked             $3 = f
  145. copy_constant                  $4 = 0x41880000 (17.0)
  146. cmplt_float                    $3 = lessThan($3, $4)
  147. stack_rewind
  148. branch_if_no_active_lanes_eq   branch -34 (label 10 at #114) if no lanes of $3 == 0x00000000 (0.0)
  149. label                          label 0x00000009
  150. trace_scope                    TraceScope(-1) when $10 is true
  151. trace_line                     TraceLine(34) when $10 is true
  152. copy_slot_unmasked             [index_out_of_bounds_checked].result = sum₁
  153. trace_var                      TraceVar([index_out_of_bounds_checked].result) when $10 is true
  154. trace_scope                    TraceScope(-1) when $10 is true
  155. trace_exit                     TraceExit(float index_out_of_bounds_checked()) when $10 is true
  156. copy_slot_unmasked             $3 = [index_out_of_bounds_checked].result
  157. label                          label 0x00000008
  158. copy_4_slots_unmasked          [main].result = $0..3
  159. trace_var                      TraceVar([main].result) when $10 is true
  160. trace_scope                    TraceScope(-1) when $10 is true
  161. trace_exit                     TraceExit(float4 main(float2 xy)) when $10 is true
  162. load_src                       src.rgba = [main].result
