               OpCapability GenericPointer
               OpCapability Linkage
               OpCapability Addresses
               OpCapability Kernel
               OpCapability Int8
               OpCapability Int16
               OpCapability Int64
               OpCapability Float16
               OpCapability Float64
         %57 = OpExtInstImport "OpenCL.std"
               OpMemoryModel Physical64 OpenCL
               OpEntryPoint Kernel %1 "stateful_neg_offset"
       %void = OpTypeVoid
      %uchar = OpTypeInt 8 0
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
         %61 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
      %ulong = OpTypeInt 64 0
%_ptr_Function_ulong = OpTypePointer Function %ulong
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
          %1 = OpFunction %void None %61
         %29 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %30 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
         %55 = OpLabel
         %15 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %16 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %10 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %11 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %12 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %13 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
         %14 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
          %9 = OpVariable %_ptr_Function_ulong Function
               OpStore %15 %29
               OpStore %16 %30
         %47 = OpBitcast %_ptr_Function_ulong %15
         %17 = OpLoad %ulong %47 Aligned 8
         %31 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %17
               OpStore %10 %31
         %48 = OpBitcast %_ptr_Function_ulong %16
         %18 = OpLoad %ulong %48 Aligned 8
         %32 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %18
               OpStore %11 %32
         %33 = OpLoad %_ptr_CrossWorkgroup_uchar %10
         %20 = OpConvertPtrToU %ulong %33
         %50 = OpCopyObject %ulong %20
         %49 = OpCopyObject %ulong %50
         %19 = OpCopyObject %ulong %49
         %34 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %19
               OpStore %12 %34
         %35 = OpLoad %_ptr_CrossWorkgroup_uchar %11
         %22 = OpConvertPtrToU %ulong %35
         %52 = OpCopyObject %ulong %22
         %51 = OpCopyObject %ulong %52
         %21 = OpCopyObject %ulong %51
         %36 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %21
               OpStore %13 %36
         %37 = OpLoad %_ptr_CrossWorkgroup_uchar %12
         %24 = OpConvertPtrToU %ulong %37
         %38 = OpLoad %_ptr_CrossWorkgroup_uchar %13
         %25 = OpConvertPtrToU %ulong %38
         %23 = OpIAdd %ulong %24 %25
         %39 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %23
               OpStore %14 %39
         %40 = OpLoad %_ptr_CrossWorkgroup_uchar %12
         %27 = OpConvertPtrToU %ulong %40
         %41 = OpLoad %_ptr_CrossWorkgroup_uchar %13
         %28 = OpConvertPtrToU %ulong %41
         %26 = OpISub %ulong %27 %28
         %42 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %26
               OpStore %14 %42
         %44 = OpLoad %_ptr_CrossWorkgroup_uchar %12
         %53 = OpBitcast %_ptr_CrossWorkgroup_ulong %44
         %43 = OpLoad %ulong %53 Aligned 8
               OpStore %9 %43
         %45 = OpLoad %_ptr_CrossWorkgroup_uchar %13
         %46 = OpLoad %ulong %9
         %54 = OpBitcast %_ptr_CrossWorkgroup_ulong %45
               OpStore %54 %46 Aligned 8
               OpReturn
               OpFunctionEnd
