    1. store_device_xy01              $13..16 = DeviceCoords.xy01
    2. copy_constant                  $15 = 0x3F000000 (0.5)
    3. copy_constant                  $16 = 0x3F000000 (0.5)
    4. cmpeq_2_floats                 $13..14 = equal($13..14, $15..16)
    5. bitwise_and_int                $13 &= $14
    6. store_src_rg                   pos = src.rg
    7. init_lane_masks                CondMask = LoopMask = RetMask = true
    8. trace_enter                    TraceEnter(half4 main(float2 pos)) when $13 is true
    9. trace_var                      TraceVar(pos) when $13 is true
   10. zero_slot_unmasked             $0 = 0
   11. copy_slot_unmasked             $1 = $13
   12. copy_slot_masked               $0 = Mask($1)
   13. trace_scope                    TraceScope(+1) when $0 is true
   14. trace_line                     TraceLine(11) when $13 is true
   15. copy_constant                  x = 0x00000005 (7.006492e-45)
   16. trace_var                      TraceVar(x) when $13 is true
   17. trace_enter                    TraceEnter(int get(int x)) when $13 is true
   18. zero_slot_unmasked             $1 = 0
   19. copy_slot_unmasked             $2 = $13
   20. copy_slot_masked               $1 = Mask($2)
   21. trace_scope                    TraceScope(+1) when $1 is true
   22. trace_line                     TraceLine(6) when $13 is true
   23. copy_slot_unmasked             [get].result = x
   24. trace_var                      TraceVar([get].result) when $13 is true
   25. trace_scope                    TraceScope(-1) when $1 is true
   26. trace_exit                     TraceExit(int get(int x)) when $13 is true
   27. copy_slot_unmasked             $1 = [get].result
   28. label                          label 0x00000000
   29. copy_constant                  x = 0x00000003 (4.203895e-45)
   30. trace_var                      TraceVar(x) when $13 is true
   31. trace_enter                    TraceEnter(int get(int x)) when $13 is true
   32. zero_slot_unmasked             $2 = 0
   33. copy_slot_unmasked             $3 = $13
   34. copy_slot_masked               $2 = Mask($3)
   35. trace_scope                    TraceScope(+1) when $2 is true
   36. trace_line                     TraceLine(6) when $13 is true
   37. copy_slot_unmasked             [get].result = x
   38. trace_var                      TraceVar([get].result) when $13 is true
   39. trace_scope                    TraceScope(-1) when $2 is true
   40. trace_exit                     TraceExit(int get(int x)) when $13 is true
   41. copy_slot_unmasked             $2 = [get].result
   42. label                          label 0x00000001
   43. add_int                        $1 += $2
   44. copy_constant                  x = 0x00000002 (2.802597e-45)
   45. trace_var                      TraceVar(x) when $13 is true
   46. trace_enter                    TraceEnter(int get(int x)) when $13 is true
   47. zero_slot_unmasked             $2 = 0
   48. copy_slot_unmasked             $3 = $13
   49. copy_slot_masked               $2 = Mask($3)
   50. trace_scope                    TraceScope(+1) when $2 is true
   51. trace_line                     TraceLine(6) when $13 is true
   52. copy_slot_unmasked             [get].result = x
   53. trace_var                      TraceVar([get].result) when $13 is true
   54. trace_scope                    TraceScope(-1) when $2 is true
   55. trace_exit                     TraceExit(int get(int x)) when $13 is true
   56. copy_slot_unmasked             $2 = [get].result
   57. label                          label 0x00000002
   58. add_int                        $1 += $2
   59. copy_slot_unmasked             ten = $1
   60. trace_var                      TraceVar(ten) when $13 is true
   61. trace_line                     TraceLine(12) when $13 is true
   62. copy_slot_unmasked             $1 = ten
   63. copy_constant                  $2 = 0x0000000A (1.401298e-44)
   64. cmpeq_int                      $1 = equal($1, $2)
   65. swizzle_4                      $1..4 = ($1..4).xxxx
   66. copy_4_constants               $5..8 = colorRed
   67. copy_4_constants               $9..12 = colorGreen
   68. mix_4_ints                     $1..4 = mix($5..8, $9..12, $1..4)
   69. copy_4_slots_unmasked          [main].result = $1..4
   70. trace_var                      TraceVar([main].result) when $13 is true
   71. trace_scope                    TraceScope(-1) when $0 is true
   72. trace_exit                     TraceExit(half4 main(float2 pos)) when $13 is true
   73. load_src                       src.rgba = [main].result
