1. store_src_rg coords = src.rg 2. init_lane_masks CondMask = LoopMask = RetMask = true 3. copy_constant $0 = 0x3F800000 (1.0) 4. swizzle_4 $0..3 = ($0..3).xxxx 5. copy_4_slots_unmasked x = $0..3 6. store_loop_mask $0 = LoopMask 7. label label 0x00000000 8. copy_slot_unmasked $1 = x(0) 9. copy_constant $2 = 0x3E800000 (0.25) 10. sub_float $1 -= $2 11. copy_slot_masked x(0) = Mask($1) 12. store_condition_mask $1 = CondMask 13. copy_slot_unmasked $2 = x(0) 14. zero_slot_unmasked $3 = 0 15. cmple_float $2 = lessThanEqual($2, $3) 16. merge_condition_mask CondMask = $1 & $2 17. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 18. load_condition_mask CondMask = $1 19. copy_slot_unmasked $1 = x(3) 20. copy_constant $2 = 0x3F800000 (1.0) 21. cmpeq_float $1 = equal($1, $2) 22. merge_loop_mask LoopMask &= $1 23. stack_rewind 24. branch_if_any_active_lanes branch_if_any_active_lanes -17 (label 0 at #7) 25. load_loop_mask LoopMask = $0 26. store_loop_mask $0 = LoopMask 27. label label 0x00000001 28. zero_slot_unmasked [temporary 0] = 0 29. copy_slot_unmasked $1 = x(2) 30. copy_constant $2 = 0x3E800000 (0.25) 31. sub_float $1 -= $2 32. copy_slot_masked x(2) = Mask($1) 33. store_condition_mask $1 = CondMask 34. copy_slot_unmasked $2 = x(3) 35. copy_constant $3 = 0x3F800000 (1.0) 36. cmpeq_float $2 = equal($2, $3) 37. merge_condition_mask CondMask = $1 & $2 38. copy_constant $3 = 0xFFFFFFFF 39. copy_slot_masked [temporary 0] = Mask($3) 40. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 41. load_condition_mask CondMask = $1 42. zero_slot_unmasked $1 = 0 43. copy_slot_masked x(1) = Mask($1) 44. reenable_loop_mask LoopMask |= [temporary 0] 45. zero_slot_unmasked $1 = 0 46. copy_slot_unmasked $2 = x(2) 47. cmplt_float $1 = lessThan($1, $2) 48. merge_loop_mask LoopMask &= $1 49. stack_rewind 50. branch_if_any_active_lanes branch_if_any_active_lanes -23 (label 1 at #27) 51. load_loop_mask LoopMask = $0 52. copy_4_slots_unmasked [main].result = x 53. load_src src.rgba = [main].result