53 instructions

store_src_rg                   coords = src.rg
init_lane_masks                CondMask = LoopMask = RetMask = true
copy_4_uniforms                x = colorWhite
copy_constant                  r = 0xC0A00000 (-5.0)
store_loop_mask                $0 = LoopMask
jump                           jump +16 (label 1 at #22)
label                          label 0x00000002
copy_slot_unmasked             $1 = r
max_imm_float                  $1 = max($1, 0)
min_imm_float                  $1 = min($1, 0x3F800000 (1.0))
copy_slot_masked               x(0) = Mask($1)
store_condition_mask           $1 = CondMask
copy_slot_unmasked             $2 = x(0)
cmpeq_imm_float                $2 = equal($2, 0)
merge_condition_mask           CondMask = $1 & $2
branch_if_all_lanes_active     branch_if_all_lanes_active +12 (label 0 at #28)
mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
load_condition_mask            CondMask = $1
copy_slot_unmasked             $1 = r
add_imm_float                  $1 += 0x3F800000 (1.0)
copy_slot_masked               r = Mask($1)
label                          label 0x00000001
copy_slot_unmasked             $1 = r
cmplt_imm_float                $1 = lessThan($1, 0x40A00000 (5.0))
merge_loop_mask                LoopMask &= $1
stack_rewind
branch_if_any_lanes_active     branch_if_any_lanes_active -20 (label 2 at #7)
label                          label 0
load_loop_mask                 LoopMask = $0
copy_constant                  b = 0x40A00000 (5.0)
store_loop_mask                $0 = LoopMask
jump                           jump +17 (label 4 at #49)
label                          label 0x00000005
copy_constant                  $4 = 0
copy_slot_unmasked             $1 = b
copy_slot_masked               x(2) = Mask($1)
store_condition_mask           $1 = CondMask
copy_slot_unmasked             $2 = x(3)
cmpeq_imm_float                $2 = equal($2, 0x3F800000 (1.0))
merge_condition_mask           CondMask = $1 & $2
continue_op                    $4 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
load_condition_mask            CondMask = $1
copy_constant                  $1 = 0
copy_slot_masked               x(1) = Mask($1)
reenable_loop_mask             LoopMask |= $4
copy_slot_unmasked             $1 = b
add_imm_float                  $1 += 0xBF800000 (-1.0)
copy_slot_masked               b = Mask($1)
label                          label 0x00000004
copy_constant                  $1 = 0
copy_slot_unmasked             $2 = b
cmple_float                    $1 = lessThanEqual($1, $2)
merge_loop_mask                LoopMask &= $1
stack_rewind
branch_if_any_lanes_active     branch_if_any_lanes_active -22 (label 5 at #33)
label                          label 0x00000003
load_loop_mask                 LoopMask = $0
copy_4_slots_unmasked          $0..3 = x
load_src                       src.rgba = $0..3
