               OpCapability GenericPointer
               OpCapability Linkage
               OpCapability Addresses
               OpCapability Kernel
               OpCapability Int8
               OpCapability Int16
               OpCapability Int64
               OpCapability Float16
               OpCapability Float64
        %130 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %1 "setp_num"
       %void = OpTypeVoid
      %ulong = OpTypeInt 64 0
        %133 = OpTypeFunction %void %ulong %ulong
%_ptr_Function_ulong = OpTypePointer Function %ulong
      %float = OpTypeFloat 32
%_ptr_Function_float = OpTypePointer Function %float
       %uint = OpTypeInt 32 0
%_ptr_Function_uint = OpTypePointer Function %uint
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%_ptr_Generic_float = OpTypePointer Generic %float
    %ulong_4 = OpConstant %ulong 4
      %uchar = OpTypeInt 8 0
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
    %ulong_8 = OpConstant %ulong 8
   %ulong_12 = OpConstant %ulong 12
   %ulong_16 = OpConstant %ulong 16
   %ulong_20 = OpConstant %ulong 20
   %ulong_24 = OpConstant %ulong 24
   %ulong_28 = OpConstant %ulong 28
       %true = OpConstantTrue %bool
      %false = OpConstantFalse %bool
     %uint_2 = OpConstant %uint 2
     %uint_0 = OpConstant %uint 0
%_ptr_Generic_uint = OpTypePointer Generic %uint
     %true_0 = OpConstantTrue %bool
    %false_0 = OpConstantFalse %bool
   %uint_2_0 = OpConstant %uint 2
   %uint_0_0 = OpConstant %uint 0
  %ulong_4_0 = OpConstant %ulong 4
     %true_1 = OpConstantTrue %bool
    %false_1 = OpConstantFalse %bool
   %uint_2_1 = OpConstant %uint 2
   %uint_0_1 = OpConstant %uint 0
  %ulong_8_0 = OpConstant %ulong 8
     %true_2 = OpConstantTrue %bool
    %false_2 = OpConstantFalse %bool
   %uint_2_2 = OpConstant %uint 2
   %uint_0_2 = OpConstant %uint 0
 %ulong_12_0 = OpConstant %ulong 12
          %1 = OpFunction %void None %133
         %32 = OpFunctionParameter %ulong
         %33 = OpFunctionParameter %ulong
        %128 = OpLabel
          %2 = OpVariable %_ptr_Function_ulong Function
          %3 = OpVariable %_ptr_Function_ulong Function
          %4 = OpVariable %_ptr_Function_ulong Function
          %5 = OpVariable %_ptr_Function_ulong Function
          %6 = OpVariable %_ptr_Function_float Function
          %7 = OpVariable %_ptr_Function_float Function
          %8 = OpVariable %_ptr_Function_float Function
          %9 = OpVariable %_ptr_Function_float Function
         %10 = OpVariable %_ptr_Function_float Function
         %11 = OpVariable %_ptr_Function_float Function
         %12 = OpVariable %_ptr_Function_float Function
         %13 = OpVariable %_ptr_Function_float Function
         %14 = OpVariable %_ptr_Function_uint Function
         %15 = OpVariable %_ptr_Function_bool Function
               OpStore %2 %32
               OpStore %3 %33
         %34 = OpLoad %ulong %2 Aligned 8
               OpStore %4 %34
         %35 = OpLoad %ulong %3 Aligned 8
               OpStore %5 %35
         %37 = OpLoad %ulong %4
        %116 = OpConvertUToPtr %_ptr_Generic_float %37
         %36 = OpLoad %float %116 Aligned 4
               OpStore %6 %36
         %39 = OpLoad %ulong %4
        %117 = OpConvertUToPtr %_ptr_Generic_float %39
        %144 = OpBitcast %_ptr_Generic_uchar %117
        %145 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %144 %ulong_4
         %89 = OpBitcast %_ptr_Generic_float %145
         %38 = OpLoad %float %89 Aligned 4
               OpStore %7 %38
         %41 = OpLoad %ulong %4
        %118 = OpConvertUToPtr %_ptr_Generic_float %41
        %146 = OpBitcast %_ptr_Generic_uchar %118
        %147 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %146 %ulong_8
         %91 = OpBitcast %_ptr_Generic_float %147
         %40 = OpLoad %float %91 Aligned 4
               OpStore %8 %40
         %43 = OpLoad %ulong %4
        %119 = OpConvertUToPtr %_ptr_Generic_float %43
        %148 = OpBitcast %_ptr_Generic_uchar %119
        %149 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %148 %ulong_12
         %93 = OpBitcast %_ptr_Generic_float %149
         %42 = OpLoad %float %93 Aligned 4
               OpStore %9 %42
         %45 = OpLoad %ulong %4
        %120 = OpConvertUToPtr %_ptr_Generic_float %45
        %150 = OpBitcast %_ptr_Generic_uchar %120
        %151 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %150 %ulong_16
         %95 = OpBitcast %_ptr_Generic_float %151
         %44 = OpLoad %float %95 Aligned 4
               OpStore %10 %44
         %47 = OpLoad %ulong %4
        %121 = OpConvertUToPtr %_ptr_Generic_float %47
        %152 = OpBitcast %_ptr_Generic_uchar %121
        %153 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %152 %ulong_20
         %97 = OpBitcast %_ptr_Generic_float %153
         %46 = OpLoad %float %97 Aligned 4
               OpStore %11 %46
         %49 = OpLoad %ulong %4
        %122 = OpConvertUToPtr %_ptr_Generic_float %49
        %154 = OpBitcast %_ptr_Generic_uchar %122
        %155 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %154 %ulong_24
         %99 = OpBitcast %_ptr_Generic_float %155
         %48 = OpLoad %float %99 Aligned 4
               OpStore %12 %48
         %51 = OpLoad %ulong %4
        %123 = OpConvertUToPtr %_ptr_Generic_float %51
        %156 = OpBitcast %_ptr_Generic_uchar %123
        %157 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %156 %ulong_28
        %101 = OpBitcast %_ptr_Generic_float %157
         %50 = OpLoad %float %101 Aligned 4
               OpStore %13 %50
         %53 = OpLoad %float %6
         %54 = OpLoad %float %7
        %158 = OpIsNan %bool %53
        %159 = OpIsNan %bool %54
        %160 = OpLogicalOr %bool %158 %159
         %52 = OpSelect %bool %160 %false %true
               OpStore %15 %52
         %55 = OpLoad %bool %15
               OpBranchConditional %55 %16 %17
         %16 = OpLabel
         %56 = OpCopyObject %uint %uint_2
               OpStore %14 %56
               OpBranch %17
         %17 = OpLabel
         %57 = OpLoad %bool %15
               OpBranchConditional %57 %19 %18
         %18 = OpLabel
         %58 = OpCopyObject %uint %uint_0
               OpStore %14 %58
               OpBranch %19
         %19 = OpLabel
         %59 = OpLoad %ulong %5
         %60 = OpLoad %uint %14
        %124 = OpConvertUToPtr %_ptr_Generic_uint %59
               OpStore %124 %60 Aligned 4
         %62 = OpLoad %float %8
         %63 = OpLoad %float %9
        %164 = OpIsNan %bool %62
        %165 = OpIsNan %bool %63
        %166 = OpLogicalOr %bool %164 %165
         %61 = OpSelect %bool %166 %false_0 %true_0
               OpStore %15 %61
         %64 = OpLoad %bool %15
               OpBranchConditional %64 %20 %21
         %20 = OpLabel
         %65 = OpCopyObject %uint %uint_2_0
               OpStore %14 %65
               OpBranch %21
         %21 = OpLabel
         %66 = OpLoad %bool %15
               OpBranchConditional %66 %23 %22
         %22 = OpLabel
         %67 = OpCopyObject %uint %uint_0_0
               OpStore %14 %67
               OpBranch %23
         %23 = OpLabel
         %68 = OpLoad %ulong %5
         %69 = OpLoad %uint %14
        %125 = OpConvertUToPtr %_ptr_Generic_uint %68
        %169 = OpBitcast %_ptr_Generic_uchar %125
        %170 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %169 %ulong_4_0
        %107 = OpBitcast %_ptr_Generic_uint %170
               OpStore %107 %69 Aligned 4
         %71 = OpLoad %float %10
         %72 = OpLoad %float %11
        %171 = OpIsNan %bool %71
        %172 = OpIsNan %bool %72
        %173 = OpLogicalOr %bool %171 %172
         %70 = OpSelect %bool %173 %false_1 %true_1
               OpStore %15 %70
         %73 = OpLoad %bool %15
               OpBranchConditional %73 %24 %25
         %24 = OpLabel
         %74 = OpCopyObject %uint %uint_2_1
               OpStore %14 %74
               OpBranch %25
         %25 = OpLabel
         %75 = OpLoad %bool %15
               OpBranchConditional %75 %27 %26
         %26 = OpLabel
         %76 = OpCopyObject %uint %uint_0_1
               OpStore %14 %76
               OpBranch %27
         %27 = OpLabel
         %77 = OpLoad %ulong %5
         %78 = OpLoad %uint %14
        %126 = OpConvertUToPtr %_ptr_Generic_uint %77
        %176 = OpBitcast %_ptr_Generic_uchar %126
        %177 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %176 %ulong_8_0
        %111 = OpBitcast %_ptr_Generic_uint %177
               OpStore %111 %78 Aligned 4
         %80 = OpLoad %float %12
         %81 = OpLoad %float %13
        %178 = OpIsNan %bool %80
        %179 = OpIsNan %bool %81
        %180 = OpLogicalOr %bool %178 %179
         %79 = OpSelect %bool %180 %false_2 %true_2
               OpStore %15 %79
         %82 = OpLoad %bool %15
               OpBranchConditional %82 %28 %29
         %28 = OpLabel
         %83 = OpCopyObject %uint %uint_2_2
               OpStore %14 %83
               OpBranch %29
         %29 = OpLabel
         %84 = OpLoad %bool %15
               OpBranchConditional %84 %31 %30
         %30 = OpLabel
         %85 = OpCopyObject %uint %uint_0_2
               OpStore %14 %85
               OpBranch %31
         %31 = OpLabel
         %86 = OpLoad %ulong %5
         %87 = OpLoad %uint %14
        %127 = OpConvertUToPtr %_ptr_Generic_uint %86
        %183 = OpBitcast %_ptr_Generic_uchar %127
        %184 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %183 %ulong_12_0
        %115 = OpBitcast %_ptr_Generic_uint %184
               OpStore %115 %87 Aligned 4
               OpReturn
               OpFunctionEnd
