    1. store_src_rg                   coords = src.rg
    2. init_lane_masks                CondMask = LoopMask = RetMask = true
    3. store_condition_mask           $8 = CondMask
    4. store_condition_mask           $21 = CondMask
    5. store_condition_mask           $27 = CondMask
    6. store_condition_mask           $15 = CondMask
    7. store_condition_mask           $32 = CondMask
    8. copy_constant                  $31 = 0xFFFFFFFF
    9. branch_if_no_active_lanes_eq   branch +13 (#22) if no lanes of $31 == 0xFFFFFFFF
   10. branch_if_no_active_lanes      branch_if_no_active_lanes +11 (#21)
   11. copy_constant                  $33 = unknownInput
   12. copy_constant                  $34 = 0x3F800000 (1.0)
   13. cmpeq_float                    $33 = equal($33, $34)
   14. branch_if_no_active_lanes_eq   branch +4 (#18) if no lanes of $33 == 0xFFFFFFFF
   15. copy_constant                  $34 = 0xFFFFFFFF
   16. copy_slot_masked               [return_on_both_sides].result = Mask($34)
   17. jump                           jump +3 (#20)
   18. copy_constant                  $34 = 0xFFFFFFFF
   19. copy_slot_masked               [return_on_both_sides].result = Mask($34)
   20. copy_slot_unmasked             $33 = [return_on_both_sides].result
   21. jump                           jump +2 (#23)
   22. zero_slot_unmasked             $33 = 0
   23. zero_slot_unmasked             $16 = 0
   24. merge_condition_mask           CondMask = $32 & $33
   25. branch_if_no_active_lanes      branch_if_no_active_lanes +22 (#47)
   26. store_return_mask              $17 = RetMask
   27. zero_slot_unmasked             x = 0
   28. store_loop_mask                $18 = LoopMask
   29. jump                           jump +8 (#37)
   30. copy_constant                  $19 = 0xFFFFFFFF
   31. copy_slot_masked               [for_inside_body].result = Mask($19)
   32. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
   33. copy_slot_unmasked             $19 = x
   34. copy_constant                  $20 = 0x00000001 (1.401298e-45)
   35. add_int                        $19 += $20
   36. copy_slot_masked               x = Mask($19)
   37. copy_slot_unmasked             $19 = x
   38. copy_constant                  $20 = 0x0000000A (1.401298e-44)
   39. cmple_int                      $19 = lessThanEqual($19, $20)
   40. merge_loop_mask                LoopMask &= $19
   41. stack_rewind
   42. branch_if_any_active_lanes     branch_if_any_active_lanes -12 (#30)
   43. load_loop_mask                 LoopMask = $18
   44. load_return_mask               RetMask = $17
   45. copy_slot_unmasked             $17 = [for_inside_body].result
   46. copy_slot_masked               $16 = Mask($17)
   47. load_condition_mask            CondMask = $32
   48. zero_slot_unmasked             $28 = 0
   49. merge_condition_mask           CondMask = $15 & $16
   50. branch_if_no_active_lanes      branch_if_no_active_lanes +13 (#63)
   51. zero_slot_unmasked             x = 0
   52. copy_slot_unmasked             $29 = x
   53. copy_constant                  $30 = 0x00000001 (1.401298e-45)
   54. add_int                        $29 += $30
   55. copy_slot_masked               x = Mask($29)
   56. copy_constant                  $30 = 0x0000000A (1.401298e-44)
   57. cmple_int                      $29 = lessThanEqual($29, $30)
   58. stack_rewind
   59. branch_if_no_active_lanes_eq   branch -7 (#52) if no lanes of $29 == 0x00000000 (0.0)
   60. copy_constant                  $29 = 0xFFFFFFFF
   61. copy_slot_masked               [after_for_body].result = Mask($29)
   62. copy_slot_masked               $28 = Mask($29)
   63. load_condition_mask            CondMask = $15
   64. zero_slot_unmasked             $22 = 0
   65. merge_condition_mask           CondMask = $27 & $28
   66. branch_if_no_active_lanes      branch_if_no_active_lanes +30 (#96)
   67. store_return_mask              $23 = RetMask
   68. zero_slot_unmasked             x = 0
   69. store_loop_mask                $24 = LoopMask
   70. jump                           jump +16 (#86)
   71. copy_constant                  $25 = unknownInput
   72. copy_constant                  $26 = 0x3F800000 (1.0)
   73. cmpeq_float                    $25 = equal($25, $26)
   74. branch_if_no_active_lanes_eq   branch +5 (#79) if no lanes of $25 == 0xFFFFFFFF
   75. copy_constant                  $26 = 0xFFFFFFFF
   76. copy_slot_masked               [for_with_double_sided_conditional_return].result = Mask($26)
   77. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
   78. jump                           jump +4 (#82)
   79. copy_constant                  $26 = 0xFFFFFFFF
   80. copy_slot_masked               [for_with_double_sided_conditional_return].result = Mask($26)
   81. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
   82. copy_slot_unmasked             $25 = x
   83. copy_constant                  $26 = 0x00000001 (1.401298e-45)
   84. add_int                        $25 += $26
   85. copy_slot_masked               x = Mask($25)
   86. copy_slot_unmasked             $25 = x
   87. copy_constant                  $26 = 0x0000000A (1.401298e-44)
   88. cmple_int                      $25 = lessThanEqual($25, $26)
   89. merge_loop_mask                LoopMask &= $25
   90. stack_rewind
   91. branch_if_any_active_lanes     branch_if_any_active_lanes -20 (#71)
   92. load_loop_mask                 LoopMask = $24
   93. load_return_mask               RetMask = $23
   94. copy_slot_unmasked             $23 = [for_with_double_sided_conditional_return].result
   95. copy_slot_masked               $22 = Mask($23)
   96. load_condition_mask            CondMask = $27
   97. zero_slot_unmasked             $9 = 0
   98. merge_condition_mask           CondMask = $21 & $22
   99. branch_if_no_active_lanes      branch_if_no_active_lanes +33 (#132)
  100. copy_constant                  $10 = unknownInput
  101. copy_constant                  $11 = 0x3F800000 (1.0)
  102. cmpeq_float                    $10 = equal($10, $11)
  103. branch_if_no_active_lanes_eq   branch +4 (#107) if no lanes of $10 == 0xFFFFFFFF
  104. copy_constant                  $11 = 0xFFFFFFFF
  105. copy_slot_masked               [if_else_chain].result = Mask($11)
  106. jump                           jump +24 (#130)
  107. copy_constant                  $11 = unknownInput
  108. copy_constant                  $12 = 0x40000000 (2.0)
  109. cmpeq_float                    $11 = equal($11, $12)
  110. branch_if_no_active_lanes_eq   branch +4 (#114) if no lanes of $11 == 0xFFFFFFFF
  111. zero_slot_unmasked             $12 = 0
  112. copy_slot_masked               [if_else_chain].result = Mask($12)
  113. jump                           jump +17 (#130)
  114. copy_constant                  $12 = unknownInput
  115. copy_constant                  $13 = 0x40400000 (3.0)
  116. cmpeq_float                    $12 = equal($12, $13)
  117. branch_if_no_active_lanes_eq   branch +4 (#121) if no lanes of $12 == 0xFFFFFFFF
  118. copy_constant                  $13 = 0xFFFFFFFF
  119. copy_slot_masked               [if_else_chain].result = Mask($13)
  120. jump                           jump +10 (#130)
  121. copy_constant                  $13 = unknownInput
  122. copy_constant                  $14 = 0x40800000 (4.0)
  123. cmpeq_float                    $13 = equal($13, $14)
  124. branch_if_no_active_lanes_eq   branch +4 (#128) if no lanes of $13 == 0xFFFFFFFF
  125. zero_slot_unmasked             $14 = 0
  126. copy_slot_masked               [if_else_chain].result = Mask($14)
  127. jump                           jump +3 (#130)
  128. copy_constant                  $14 = 0xFFFFFFFF
  129. copy_slot_masked               [if_else_chain].result = Mask($14)
  130. copy_slot_unmasked             $10 = [if_else_chain].result
  131. copy_slot_masked               $9 = Mask($10)
  132. load_condition_mask            CondMask = $21
  133. copy_4_constants               $0..3 = colorRed
  134. merge_condition_mask           CondMask = $8 & $9
  135. copy_4_constants               $4..7 = colorGreen
  136. copy_4_slots_masked            $0..3 = Mask($4..7)
  137. load_condition_mask            CondMask = $8
  138. copy_4_slots_unmasked          [main].result = $0..3
  139. load_src                       src.rgba = [main].result
