47 instructions

[immutable slots]
i0 = 0
i1 = 0x00000001 (1.401298e-45)
i2 = 0x00000002 (2.802597e-45)
i3 = 0x4008F5C3 (2.14)
i4 = 0x3F800000 (1.0)
i5 = 0x3E4CCCCD (0.2)
i6 = 0x4008F5C3 (2.14)
i7 = 0x3F800000 (1.0)
i8 = 0x4048F5C3 (3.14)
i9 = 0x3F800000 (1.0)
i10 = 0
i11 = 0
i12 = 0x3F800000 (1.0)

store_src_rg                   v0..1 = src.rg
init_lane_masks                CondMask = LoopMask = RetMask = true
copy_uniform                   $0 = colorGreen(1)
cast_to_int_from_float         $0 = FloatToInt($0)
copy_slot_unmasked             integerInput = $0
store_condition_mask           $0 = CondMask
copy_slot_unmasked             $1 = integerInput
cmpeq_imm_int                  $1 = equal($1, 0)
merge_condition_mask           CondMask = $0 & $1
splat_4_constants              $2..5 = 0x4008F5C3 (2.14)
copy_4_slots_masked            [main].result = Mask($2..5)
merge_inv_condition_mask       CondMask = $0 & ~$1
store_condition_mask           $2 = CondMask
copy_slot_unmasked             $3 = integerInput
cmpeq_imm_int                  $3 = equal($3, 0x00000001)
merge_condition_mask           CondMask = $2 & $3
copy_4_uniforms                $4..7 = colorGreen
copy_4_slots_masked            [main].result = Mask($4..7)
merge_inv_condition_mask       CondMask = $2 & ~$3
store_condition_mask           $4 = CondMask
copy_slot_unmasked             $5 = integerInput
cmpeq_imm_int                  $5 = equal($5, 0x00000002)
merge_condition_mask           CondMask = $4 & $5
copy_4_immutables_unmasked     $6..9 = i4..7 [0x3F800000 (1.0), 0x3E4CCCCD (0.2), 0x4008F5C3 (2.14), 0x3F800000 (1.0)]
copy_4_slots_masked            [main].result = Mask($6..9)
merge_inv_condition_mask       CondMask = $4 & ~$5
copy_constant                  $6 = 0x4048F5C3 (3.14)
copy_uniform                   $7 = colorGreen(0)
mul_imm_float                  $7 *= 0x4048F5C3 (3.14)
cmplt_float                    $6 = lessThan($6, $7)
branch_if_no_active_lanes_eq   branch +4 (label 0 at #35) if no lanes of $6 == 0xFFFFFFFF
splat_4_constants              $7..10 = 0x4048F5C3 (3.14)
copy_4_slots_masked            [main].result = Mask($7..10)
jump                           jump +13 (label 1 at #47)
label                          label 0
copy_uniform                   $7 = colorGreen(0)
mul_imm_float                  $7 *= 0x4008F5C3 (2.14)
cmple_imm_float                $7 = lessThanEqual($7, 0x4008F5C3 (2.14))
branch_if_no_active_lanes_eq   branch +4 (label 2 at #43) if no lanes of $7 == 0xFFFFFFFF
splat_4_constants              $8..11 = 0
copy_4_slots_masked            [main].result = Mask($8..11)
jump                           jump +4 (label 3 at #46)
label                          label 0x00000002
copy_4_immutables_unmasked     $8..11 = i9..12 [0x3F800000 (1.0), 0, 0, 0x3F800000 (1.0)]
copy_4_slots_masked            [main].result = Mask($8..11)
label                          label 0x00000003
label                          label 0x00000001
load_condition_mask            CondMask = $4
load_condition_mask            CondMask = $2
load_condition_mask            CondMask = $0
load_src                       src.rgba = [main].result
