; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 6457
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %gl_FragCoord %xe_frag_color
               OpExecutionMode %main OriginUpperLeft
               OpSource GLSL 420
               OpSourceExtension "GL_GOOGLE_cpp_style_line_directive"
               OpSourceExtension "GL_GOOGLE_include_directive"
               OpName %main "main"
               OpName %xe_texture "xe_texture"
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %XeCasSharpenConstants "XeCasSharpenConstants"
               OpMemberName %XeCasSharpenConstants 0 "xe_cas_output_offset"
               OpMemberName %XeCasSharpenConstants 1 "xe_cas_sharpness_post_setup"
               OpName %_ ""
               OpName %xe_frag_color "xe_frag_color"
               OpDecorate %xe_texture DescriptorSet 0
               OpDecorate %xe_texture Binding 0
               OpDecorate %gl_FragCoord BuiltIn FragCoord
               OpMemberDecorate %XeCasSharpenConstants 0 Offset 16
               OpMemberDecorate %XeCasSharpenConstants 1 Offset 24
               OpDecorate %XeCasSharpenConstants Block
               OpDecorate %xe_frag_color Location 0
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
      %float = OpTypeFloat 32
       %uint = OpTypeInt 32 0
        %int = OpTypeInt 32 1
      %v2int = OpTypeVector %int 2
    %v3float = OpTypeVector %float 3
     %v2uint = OpTypeVector %uint 2
    %float_0 = OpConstant %float 0
    %float_1 = OpConstant %float 1
     %uint_1 = OpConstant %uint 1
%uint_532432441 = OpConstant %uint 532432441
%uint_2129690299 = OpConstant %uint 2129690299
%uint_2129764351 = OpConstant %uint 2129764351
    %float_2 = OpConstant %float 2
        %143 = OpTypeImage %float 2D 0 0 0 1 Unknown
        %144 = OpTypeSampledImage %143
%_ptr_UniformConstant_144 = OpTypePointer UniformConstant %144
 %xe_texture = OpVariable %_ptr_UniformConstant_144 UniformConstant
      %int_0 = OpConstant %int 0
    %v4float = OpTypeVector %float 4
     %int_n1 = OpConstant %int -1
        %181 = OpConstantComposite %v2int %int_0 %int_n1
      %int_1 = OpConstant %int 1
        %188 = OpConstantComposite %v2int %int_1 %int_n1
        %194 = OpConstantComposite %v2int %int_n1 %int_0
        %204 = OpConstantComposite %v2int %int_1 %int_0
        %210 = OpConstantComposite %v2int %int_n1 %int_1
        %216 = OpConstantComposite %v2int %int_0 %int_1
        %222 = OpConstantComposite %v2int %int_1 %int_1
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
    %v2float = OpTypeVector %float 2
      %int_2 = OpConstant %int 2
        %712 = OpConstantComposite %v2int %int_2 %int_0
        %734 = OpConstantComposite %v2int %int_0 %int_2
        %745 = OpConstantComposite %v2int %int_2 %int_1
        %751 = OpConstantComposite %v2int %int_1 %int_2
%float_0_03125 = OpConstant %float 0.03125
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%XeCasSharpenConstants = OpTypeStruct %v2int %float
%_ptr_PushConstant_XeCasSharpenConstants = OpTypePointer PushConstant %XeCasSharpenConstants
          %_ = OpVariable %_ptr_PushConstant_XeCasSharpenConstants PushConstant
%_ptr_PushConstant_v2int = OpTypePointer PushConstant %v2int
%_ptr_PushConstant_float = OpTypePointer PushConstant %float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%xe_frag_color = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_float = OpTypePointer Output %float
     %uint_3 = OpConstant %uint 3
       %main = OpFunction %void None %3
          %5 = OpLabel
       %2205 = OpLoad %v4float %gl_FragCoord
       %2206 = OpVectorShuffle %v2float %2205 %2205 0 1
       %2207 = OpConvertFToS %v2int %2206
       %2212 = OpAccessChain %_ptr_PushConstant_v2int %_ %int_0
       %2213 = OpLoad %v2int %2212
       %2214 = OpISub %v2int %2207 %2213
       %2215 = OpBitcast %v2uint %2214
       %2221 = OpAccessChain %_ptr_PushConstant_float %_ %int_1
       %2222 = OpLoad %float %2221
       %2223 = OpBitcast %uint %2222
               OpBranch %2768
       %2768 = OpLabel
       %3119 = OpConvertUToF %v2float %2215
       %3135 = OpExtInst %v2float %1 Floor %3119
       %3138 = OpFSub %v2float %3119 %3135
       %3140 = OpConvertFToS %v2int %3135
       %3145 = OpIAdd %v2int %3140 %181
       %4735 = OpLoad %144 %xe_texture
       %4737 = OpImage %143 %4735
       %4738 = OpImageFetch %v4float %4737 %3145 Lod %int_0
       %3148 = OpIAdd %v2int %3140 %194
       %4744 = OpImage %143 %4735
       %4745 = OpImageFetch %v4float %4744 %3148 Lod %int_0
       %4751 = OpImage %143 %4735
       %4752 = OpImageFetch %v4float %4751 %3140 Lod %int_0
       %3153 = OpIAdd %v2int %3140 %188
       %4758 = OpImage %143 %4735
       %4759 = OpImageFetch %v4float %4758 %3153 Lod %int_0
       %3159 = OpIAdd %v2int %3140 %204
       %4772 = OpImage %143 %4735
       %4773 = OpImageFetch %v4float %4772 %3159 Lod %int_0
       %3162 = OpIAdd %v2int %3140 %712
       %4779 = OpImage %143 %4735
       %4780 = OpImageFetch %v4float %4779 %3162 Lod %int_0
       %3165 = OpIAdd %v2int %3140 %210
       %4786 = OpImage %143 %4735
       %4787 = OpImageFetch %v4float %4786 %3165 Lod %int_0
       %3168 = OpIAdd %v2int %3140 %216
       %4793 = OpImage %143 %4735
       %4794 = OpImageFetch %v4float %4793 %3168 Lod %int_0
       %3174 = OpIAdd %v2int %3140 %734
       %4807 = OpImage %143 %4735
       %4808 = OpImageFetch %v4float %4807 %3174 Lod %int_0
       %3177 = OpIAdd %v2int %3140 %222
       %4814 = OpImage %143 %4735
       %4815 = OpImageFetch %v4float %4814 %3177 Lod %int_0
       %3180 = OpIAdd %v2int %3140 %745
       %4821 = OpImage %143 %4735
       %4822 = OpImageFetch %v4float %4821 %3180 Lod %int_0
       %3183 = OpIAdd %v2int %3140 %751
       %4828 = OpImage %143 %4735
       %4829 = OpImageFetch %v4float %4828 %3183 Lod %int_0
       %3202 = OpCompositeExtract %float %4738 0
       %3204 = OpCompositeExtract %float %4738 1
       %3206 = OpCompositeExtract %float %4738 2
       %4851 = OpFMul %float %3202 %3202
       %4854 = OpFMul %float %3204 %3204
       %4857 = OpFMul %float %3206 %3206
       %3215 = OpCompositeExtract %float %4759 0
       %3217 = OpCompositeExtract %float %4759 1
       %3219 = OpCompositeExtract %float %4759 2
       %4861 = OpFMul %float %3215 %3215
       %4864 = OpFMul %float %3217 %3217
       %4867 = OpFMul %float %3219 %3219
       %3241 = OpCompositeExtract %float %4745 0
       %3243 = OpCompositeExtract %float %4745 1
       %3245 = OpCompositeExtract %float %4745 2
       %4881 = OpFMul %float %3241 %3241
       %4884 = OpFMul %float %3243 %3243
       %4887 = OpFMul %float %3245 %3245
       %3254 = OpCompositeExtract %float %4752 0
       %3256 = OpCompositeExtract %float %4752 1
       %3258 = OpCompositeExtract %float %4752 2
       %4891 = OpFMul %float %3254 %3254
       %4894 = OpFMul %float %3256 %3256
       %4897 = OpFMul %float %3258 %3258
       %3267 = OpCompositeExtract %float %4773 0
       %3269 = OpCompositeExtract %float %4773 1
       %3271 = OpCompositeExtract %float %4773 2
       %4901 = OpFMul %float %3267 %3267
       %4904 = OpFMul %float %3269 %3269
       %4907 = OpFMul %float %3271 %3271
       %3280 = OpCompositeExtract %float %4780 0
       %3282 = OpCompositeExtract %float %4780 1
       %3284 = OpCompositeExtract %float %4780 2
       %4911 = OpFMul %float %3280 %3280
       %4914 = OpFMul %float %3282 %3282
       %4917 = OpFMul %float %3284 %3284
       %3293 = OpCompositeExtract %float %4787 0
       %3295 = OpCompositeExtract %float %4787 1
       %3297 = OpCompositeExtract %float %4787 2
       %4921 = OpFMul %float %3293 %3293
       %4924 = OpFMul %float %3295 %3295
       %4927 = OpFMul %float %3297 %3297
       %3306 = OpCompositeExtract %float %4794 0
       %3308 = OpCompositeExtract %float %4794 1
       %3310 = OpCompositeExtract %float %4794 2
       %4931 = OpFMul %float %3306 %3306
       %4934 = OpFMul %float %3308 %3308
       %4937 = OpFMul %float %3310 %3310
       %3319 = OpCompositeExtract %float %4815 0
       %3321 = OpCompositeExtract %float %4815 1
       %3323 = OpCompositeExtract %float %4815 2
       %4941 = OpFMul %float %3319 %3319
       %4944 = OpFMul %float %3321 %3321
       %4947 = OpFMul %float %3323 %3323
       %3332 = OpCompositeExtract %float %4822 0
       %3334 = OpCompositeExtract %float %4822 1
       %3336 = OpCompositeExtract %float %4822 2
       %4951 = OpFMul %float %3332 %3332
       %4954 = OpFMul %float %3334 %3334
       %4957 = OpFMul %float %3336 %3336
       %3358 = OpCompositeExtract %float %4808 0
       %3360 = OpCompositeExtract %float %4808 1
       %3362 = OpCompositeExtract %float %4808 2
       %4971 = OpFMul %float %3358 %3358
       %4974 = OpFMul %float %3360 %3360
       %4977 = OpFMul %float %3362 %3362
       %3371 = OpCompositeExtract %float %4829 0
       %3373 = OpCompositeExtract %float %4829 1
       %3375 = OpCompositeExtract %float %4829 2
       %4981 = OpFMul %float %3371 %3371
       %4984 = OpFMul %float %3373 %3373
       %4987 = OpFMul %float %3375 %3375
       %5017 = OpExtInst %float %1 FMin %4884 %4894
       %5018 = OpExtInst %float %1 FMin %4854 %5017
       %5024 = OpExtInst %float %1 FMin %4904 %4934
       %5025 = OpExtInst %float %1 FMin %5018 %5024
       %5059 = OpExtInst %float %1 FMax %4884 %4894
       %5060 = OpExtInst %float %1 FMax %4854 %5059
       %5066 = OpExtInst %float %1 FMax %4904 %4934
       %5067 = OpExtInst %float %1 FMax %5060 %5066
       %5101 = OpExtInst %float %1 FMin %4894 %4904
       %5102 = OpExtInst %float %1 FMin %4864 %5101
       %5108 = OpExtInst %float %1 FMin %4914 %4944
       %5109 = OpExtInst %float %1 FMin %5102 %5108
       %5143 = OpExtInst %float %1 FMax %4894 %4904
       %5144 = OpExtInst %float %1 FMax %4864 %5143
       %5150 = OpExtInst %float %1 FMax %4914 %4944
       %5151 = OpExtInst %float %1 FMax %5144 %5150
       %5185 = OpExtInst %float %1 FMin %4924 %4934
       %5186 = OpExtInst %float %1 FMin %4894 %5185
       %5192 = OpExtInst %float %1 FMin %4944 %4974
       %5193 = OpExtInst %float %1 FMin %5186 %5192
       %5227 = OpExtInst %float %1 FMax %4924 %4934
       %5228 = OpExtInst %float %1 FMax %4894 %5227
       %5234 = OpExtInst %float %1 FMax %4944 %4974
       %5235 = OpExtInst %float %1 FMax %5228 %5234
       %5269 = OpExtInst %float %1 FMin %4934 %4944
       %5270 = OpExtInst %float %1 FMin %4904 %5269
       %5276 = OpExtInst %float %1 FMin %4954 %4984
       %5277 = OpExtInst %float %1 FMin %5270 %5276
       %5311 = OpExtInst %float %1 FMax %4934 %4944
       %5312 = OpExtInst %float %1 FMax %4904 %5311
       %5318 = OpExtInst %float %1 FMax %4954 %4984
       %5319 = OpExtInst %float %1 FMax %5312 %5318
       %5350 = OpBitcast %uint %5067
       %5351 = OpISub %uint %uint_2129690299 %5350
       %5352 = OpBitcast %float %5351
       %5383 = OpBitcast %uint %5151
       %5384 = OpISub %uint %uint_2129690299 %5383
       %5385 = OpBitcast %float %5384
       %5416 = OpBitcast %uint %5235
       %5417 = OpISub %uint %uint_2129690299 %5416
       %5418 = OpBitcast %float %5417
       %5449 = OpBitcast %uint %5319
       %5450 = OpISub %uint %uint_2129690299 %5449
       %5451 = OpBitcast %float %5450
       %3719 = OpFSub %float %float_1 %5067
       %3720 = OpExtInst %float %1 FMin %5025 %3719
       %3722 = OpFMul %float %3720 %5352
       %5493 = OpExtInst %float %1 FClamp %3722 %float_0 %float_1
       %3743 = OpFSub %float %float_1 %5151
       %3744 = OpExtInst %float %1 FMin %5109 %3743
       %3746 = OpFMul %float %3744 %5385
       %5544 = OpExtInst %float %1 FClamp %3746 %float_0 %float_1
       %3767 = OpFSub %float %float_1 %5235
       %3768 = OpExtInst %float %1 FMin %5193 %3767
       %3770 = OpFMul %float %3768 %5418
       %5595 = OpExtInst %float %1 FClamp %3770 %float_0 %float_1
       %3791 = OpFSub %float %float_1 %5319
       %3792 = OpExtInst %float %1 FMin %5277 %3791
       %3794 = OpFMul %float %3792 %5451
       %5646 = OpExtInst %float %1 FClamp %3794 %float_0 %float_1
       %5692 = OpBitcast %uint %5493
       %5694 = OpShiftRightLogical %uint %5692 %uint_1
       %5696 = OpIAdd %uint %5694 %uint_532432441
       %5697 = OpBitcast %float %5696
       %5743 = OpBitcast %uint %5544
       %5745 = OpShiftRightLogical %uint %5743 %uint_1
       %5747 = OpIAdd %uint %5745 %uint_532432441
       %5748 = OpBitcast %float %5747
       %5794 = OpBitcast %uint %5595
       %5796 = OpShiftRightLogical %uint %5794 %uint_1
       %5798 = OpIAdd %uint %5796 %uint_532432441
       %5799 = OpBitcast %float %5798
       %5845 = OpBitcast %uint %5646
       %5847 = OpShiftRightLogical %uint %5845 %uint_1
       %5849 = OpIAdd %uint %5847 %uint_532432441
       %5850 = OpBitcast %float %5849
       %3830 = OpBitcast %float %2223
       %3836 = OpFMul %float %5697 %3830
       %3845 = OpFMul %float %5748 %3830
       %3854 = OpFMul %float %5799 %3830
       %3863 = OpFMul %float %5850 %3830
       %3869 = OpCompositeExtract %float %3138 0
       %3870 = OpFSub %float %float_1 %3869
       %3873 = OpCompositeExtract %float %3138 1
       %3874 = OpFSub %float %float_1 %3873
       %3875 = OpFMul %float %3870 %3874
       %3882 = OpFMul %float %3869 %3874
       %3889 = OpFMul %float %3870 %3873
       %3894 = OpFMul %float %3869 %3873
       %3898 = OpFSub %float %5067 %5025
       %3899 = OpFAdd %float %float_0_03125 %3898
       %5891 = OpBitcast %uint %3899
       %5892 = OpISub %uint %uint_2129690299 %5891
       %5893 = OpBitcast %float %5892
       %3902 = OpFMul %float %3875 %5893
       %3906 = OpFSub %float %5151 %5109
       %3907 = OpFAdd %float %float_0_03125 %3906
       %5902 = OpBitcast %uint %3907
       %5903 = OpISub %uint %uint_2129690299 %5902
       %5904 = OpBitcast %float %5903
       %3910 = OpFMul %float %3882 %5904
       %3914 = OpFSub %float %5235 %5193
       %3915 = OpFAdd %float %float_0_03125 %3914
       %5913 = OpBitcast %uint %3915
       %5914 = OpISub %uint %uint_2129690299 %5913
       %5915 = OpBitcast %float %5914
       %3918 = OpFMul %float %3889 %5915
       %3922 = OpFSub %float %5319 %5277
       %3923 = OpFAdd %float %float_0_03125 %3922
       %5924 = OpBitcast %uint %3923
       %5925 = OpISub %uint %uint_2129690299 %5924
       %5926 = OpBitcast %float %5925
       %3926 = OpFMul %float %3894 %5926
       %3932 = OpFMul %float %3836 %3902
       %3941 = OpFMul %float %3845 %3910
       %3959 = OpFMul %float %3854 %3918
       %3960 = OpFAdd %float %3941 %3959
       %3962 = OpFAdd %float %3960 %3902
       %3986 = OpFMul %float %3863 %3926
       %3987 = OpFAdd %float %3932 %3986
       %3989 = OpFAdd %float %3987 %3910
       %4016 = OpFAdd %float %3987 %3918
       %4043 = OpFAdd %float %3960 %3926
       %6451 = OpFAdd %float %3932 %3941
       %6452 = OpFAdd %float %6451 %3959
       %6453 = OpFAdd %float %6452 %3986
       %4085 = OpFMul %float %float_2 %6453
       %4087 = OpFAdd %float %4085 %3962
       %4089 = OpFAdd %float %4087 %3989
       %4091 = OpFAdd %float %4089 %4016
       %4093 = OpFAdd %float %4091 %4043
       %5949 = OpBitcast %uint %4093
       %5950 = OpISub %uint %uint_2129764351 %5949
       %5951 = OpBitcast %float %5950
       %5954 = OpFNegate %float %5951
       %5956 = OpFMul %float %5954 %4093
       %5958 = OpFAdd %float %5956 %float_2
       %5959 = OpFMul %float %5951 %5958
       %6454 = OpFAdd %float %4851 %4881
       %4103 = OpFMul %float %3932 %6454
       %4107 = OpFMul %float %4861 %3941
       %4108 = OpFAdd %float %4103 %4107
       %4112 = OpFMul %float %4911 %3941
       %4113 = OpFAdd %float %4108 %4112
       %4117 = OpFMul %float %4921 %3959
       %4118 = OpFAdd %float %4113 %4117
       %4122 = OpFMul %float %4971 %3959
       %4123 = OpFAdd %float %4118 %4122
       %4127 = OpFMul %float %4951 %3986
       %4128 = OpFAdd %float %4123 %4127
       %4132 = OpFMul %float %4981 %3986
       %4133 = OpFAdd %float %4128 %4132
       %4137 = OpFMul %float %4891 %3962
       %4138 = OpFAdd %float %4133 %4137
       %4142 = OpFMul %float %4901 %3989
       %4143 = OpFAdd %float %4138 %4142
       %4147 = OpFMul %float %4931 %4016
       %4148 = OpFAdd %float %4143 %4147
       %4152 = OpFMul %float %4941 %4043
       %4153 = OpFAdd %float %4148 %4152
       %4155 = OpFMul %float %4153 %5959
       %5973 = OpExtInst %float %1 FClamp %4155 %float_0 %float_1
       %6455 = OpFAdd %float %4854 %4884
       %4165 = OpFMul %float %3932 %6455
       %4169 = OpFMul %float %4864 %3941
       %4170 = OpFAdd %float %4165 %4169
       %4174 = OpFMul %float %4914 %3941
       %4175 = OpFAdd %float %4170 %4174
       %4179 = OpFMul %float %4924 %3959
       %4180 = OpFAdd %float %4175 %4179
       %4184 = OpFMul %float %4974 %3959
       %4185 = OpFAdd %float %4180 %4184
       %4189 = OpFMul %float %4954 %3986
       %4190 = OpFAdd %float %4185 %4189
       %4194 = OpFMul %float %4984 %3986
       %4195 = OpFAdd %float %4190 %4194
       %4199 = OpFMul %float %4894 %3962
       %4200 = OpFAdd %float %4195 %4199
       %4204 = OpFMul %float %4904 %3989
       %4205 = OpFAdd %float %4200 %4204
       %4209 = OpFMul %float %4934 %4016
       %4210 = OpFAdd %float %4205 %4209
       %4214 = OpFMul %float %4944 %4043
       %4215 = OpFAdd %float %4210 %4214
       %4217 = OpFMul %float %4215 %5959
       %5987 = OpExtInst %float %1 FClamp %4217 %float_0 %float_1
       %6456 = OpFAdd %float %4857 %4887
       %4227 = OpFMul %float %3932 %6456
       %4231 = OpFMul %float %4867 %3941
       %4232 = OpFAdd %float %4227 %4231
       %4236 = OpFMul %float %4917 %3941
       %4237 = OpFAdd %float %4232 %4236
       %4241 = OpFMul %float %4927 %3959
       %4242 = OpFAdd %float %4237 %4241
       %4246 = OpFMul %float %4977 %3959
       %4247 = OpFAdd %float %4242 %4246
       %4251 = OpFMul %float %4957 %3986
       %4252 = OpFAdd %float %4247 %4251
       %4256 = OpFMul %float %4987 %3986
       %4257 = OpFAdd %float %4252 %4256
       %4261 = OpFMul %float %4897 %3962
       %4262 = OpFAdd %float %4257 %4261
       %4266 = OpFMul %float %4907 %3989
       %4267 = OpFAdd %float %4262 %4266
       %4271 = OpFMul %float %4937 %4016
       %4272 = OpFAdd %float %4267 %4271
       %4276 = OpFMul %float %4947 %4043
       %4277 = OpFAdd %float %4272 %4276
       %4279 = OpFMul %float %4277 %5959
       %6001 = OpExtInst %float %1 FClamp %4279 %float_0 %float_1
       %2247 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_0
               OpStore %2247 %5973
       %2249 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_1
               OpStore %2249 %5987
       %2251 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_2
               OpStore %2251 %6001
       %2252 = OpLoad %v4float %xe_frag_color
       %2253 = OpVectorShuffle %v3float %2252 %2252 0 1 2
       %2254 = OpExtInst %v3float %1 Sqrt %2253
       %2256 = OpCompositeExtract %float %2254 0
               OpStore %2247 %2256
       %2258 = OpCompositeExtract %float %2254 1
               OpStore %2249 %2258
       %2260 = OpCompositeExtract %float %2254 2
               OpStore %2251 %2260
       %2262 = OpAccessChain %_ptr_Output_float %xe_frag_color %uint_3
               OpStore %2262 %float_1
               OpReturn
               OpFunctionEnd
