__kernel void E_9_128_4(write_only image2d_t data0_4608, __global long* data1_9, __global float* data2_12800) {
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;
  int idx0 = get_global_id(0); /* 128 */
  int idx1 = get_global_id(1); /* 9 */
  long val0 = (*(data1_9+idx1));
  float4 val1 = (((-1ll<val0)&(val0<25ll))?*((__global float4*)((data2_12800+((idx0<<2)+(((int)(val0))<<9))))):(float4)(0.0f,0.0f,0.0f,0.0f));
  write_imagef(data0_4608, (int2)(idx0,idx1), val1);
}

__kernel void E_50_4n3(write_only image2d_t data0_200, __global float* data1_200) {
  int idx0 = get_global_id(0); /* 50 */
  float4 val0 = (*((__global float4*)((data1_200+(idx0<<2)))));
  write_imagef(data0_200, (int2)(idx0,0), val0);
}

__kernel void E_4(write_only image2d_t data0_4, __global float* data1_2) {
  float2 val0 = (*((__global float2*)((data1_2+0))));
  write_imagef(data0_4, (int2)(0,0), (float4)(val0.x,val0.y,0.0f,0.0f));
}

__kernel void r_3_128_4_3_128_4(write_only image2d_t data0_4608, __global float* data1_512, read_only image2d_t data2_4608, read_only image2d_t data3_262144) {
  float acc0[12];
  int idx1 = get_global_id(1); /* 3 */
  int alu0 = (idx1*3);
  int alu1 = (alu0+2);
  int alu2 = (alu0+1);
  *(acc0+0) = 0.0f;
  *(acc0+1) = 0.0f;
  *(acc0+2) = 0.0f;
  *(acc0+3) = 0.0f;
  *(acc0+4) = 0.0f;
  *(acc0+5) = 0.0f;
  *(acc0+6) = 0.0f;
  *(acc0+7) = 0.0f;
  *(acc0+8) = 0.0f;
  *(acc0+9) = 0.0f;
  *(acc0+10) = 0.0f;
  *(acc0+11) = 0.0f;
  for (int ridx1007 = 0; ridx1007 < 128; ridx1007++) {
    float4 val0 = read_imagef(data2_4608, smp, (int2)(ridx1007,alu2));
    float4 val1 = read_imagef(data2_4608, smp, (int2)(ridx1007,alu0));
    float4 val2 = read_imagef(data2_4608, smp, (int2)(ridx1007,alu1));
    int alu15 = (ridx1007<<2);
    float4 val3 = read_imagef(data3_262144, smp, (int2)(alu15,idx0));
    float4 val4 = read_imagef(data3_262144, smp, (int2)((alu15+1),idx0));
    float4 val5 = read_imagef(data3_262144, smp, (int2)((alu15+2),idx0));
    float4 val6 = read_imagef(data3_262144, smp, (int2)((alu15+3),idx0));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val3.x)+(val0.y*val4.x)+(val0.z*val5.x)+(val0.w*val6.x));
    *(acc0+4) = ((*(acc0+4))+(val0.x*val3.y)+(val0.y*val4.y)+(val0.z*val5.y)+(val0.w*val6.y));
    *(acc0+7) = ((*(acc0+7))+(val0.x*val3.z)+(val0.y*val4.z)+(val0.z*val5.z)+(val0.w*val6.z));
    *(acc0+10) = ((*(acc0+10))+(val0.x*val3.w)+(val0.y*val4.w)+(val0.z*val5.w)+(val0.w*val6.w));
    *(acc0+2) = ((*(acc0+2))+(val2.x*val3.x)+(val2.y*val4.x)+(val2.z*val5.x)+(val2.w*val6.x));
    *(acc0+5) = ((*(acc0+5))+(val2.x*val3.y)+(val2.y*val4.y)+(val2.z*val5.y)+(val2.w*val6.y));
    *(acc0+8) = ((*(acc0+8))+(val2.x*val3.z)+(val2.y*val4.z)+(val2.z*val5.z)+(val2.w*val6.z));
    *(acc0+11) = ((*(acc0+11))+(val2.x*val3.w)+(val2.y*val4.w)+(val2.z*val5.w)+(val2.w*val6.w));
    *(acc0+0) = ((*(acc0+0))+(val1.x*val3.x)+(val1.y*val4.x)+(val1.z*val5.x)+(val1.w*val6.x));
    *(acc0+3) = ((*(acc0+3))+(val1.x*val3.y)+(val1.y*val4.y)+(val1.z*val5.y)+(val1.w*val6.y));
    *(acc0+6) = ((*(acc0+6))+(val1.x*val3.z)+(val1.y*val4.z)+(val1.z*val5.z)+(val1.w*val6.z));
    *(acc0+9) = ((*(acc0+9))+(val1.x*val3.w)+(val1.y*val4.w)+(val1.z*val5.w)+(val1.w*val6.w));
  }
  float4 val7 = (*((__global float4*)((data1_512+(idx0<<2)))));
  float alu29 = (val7.x+(*(acc0+0)));
  float alu30 = (val7.x+(*(acc0+1)));
  float alu31 = (val7.x+(*(acc0+2)));
  float alu32 = (val7.y+(*(acc0+3)));
  float alu33 = (val7.y+(*(acc0+4)));
  float alu34 = (val7.y+(*(acc0+5)));
  float alu35 = (val7.z+(*(acc0+6)));
  float alu36 = (val7.z+(*(acc0+7)));
  float alu37 = (val7.z+(*(acc0+8)));
  float alu38 = (val7.w+(*(acc0+9)));
  float alu39 = (val7.w+(*(acc0+10)));
  float alu40 = (val7.w+(*(acc0+11)));
  write_imagef(data0_4608, (int2)(idx0,alu0), (float4)((alu29*(1/(1.0f+exp2((alu29*-1.4426950408889634f))))),(alu32*(1/(1.0f+exp2((alu32*-1.4426950408889634f))))),(alu35*(1/(1.0f+exp2((alu35*-1.4426950408889634f))))),(alu38*(1/(1.0f+exp2((alu38*-1.4426950408889634f)))))));
  write_imagef(data0_4608, (int2)(idx0,alu2), (float4)((alu30*(1/(1.0f+exp2((alu30*-1.4426950408889634f))))),(alu33*(1/(1.0f+exp2((alu33*-1.4426950408889634f))))),(alu36*(1/(1.0f+exp2((alu36*-1.4426950408889634f))))),(alu39*(1/(1.0f+exp2((alu39*-1.4426950408889634f)))))));
  write_imagef(data0_4608, (int2)(idx0,alu1), (float4)((alu31*(1/(1.0f+exp2((alu31*-1.4426950408889634f))))),(alu34*(1/(1.0f+exp2((alu34*-1.4426950408889634f))))),(alu37*(1/(1.0f+exp2((alu37*-1.4426950408889634f))))),(alu40*(1/(1.0f+exp2((alu40*-1.4426950408889634f)))))));
}

#pragma OPENCL EXTENSION cl_khr_fp16 : enable
__kernel void r_128_4_50_4(write_only image2d_t data0_512, read_only image2d_t data1_200, read_only image2d_t data2_102400, __global half* data3_512) {
  float acc0[4];
  for (int ridx1007 = 0; ridx1007 < 50; ridx1007++) {
    float4 val0 = read_imagef(data1_200, smp, (int2)(ridx1007,0));
    int alu4 = (ridx1007<<2);
    float4 val1 = read_imagef(data2_102400, smp, (int2)(alu4,idx0));
    float4 val2 = read_imagef(data2_102400, smp, (int2)((alu4+1),idx0));
    float4 val3 = read_imagef(data2_102400, smp, (int2)((alu4+2),idx0));
    float4 val4 = read_imagef(data2_102400, smp, (int2)((alu4+3),idx0));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
  }
  half4 val5 = (*((__global half4*)((data3_512+(idx0<<2)))));
  float alu10 = ((*(acc0+0))+((float)(val5.x)));
  float alu11 = ((*(acc0+1))+((float)(val5.y)));
  float alu12 = ((*(acc0+2))+((float)(val5.z)));
  float alu13 = ((*(acc0+3))+((float)(val5.w)));
  write_imagef(data0_512, (int2)(idx0,0), (float4)((alu10*(1/(1.0f+exp2((alu10*-1.4426950408889634f))))),(alu11*(1/(1.0f+exp2((alu11*-1.4426950408889634f))))),(alu12*(1/(1.0f+exp2((alu12*-1.4426950408889634f))))),(alu13*(1/(1.0f+exp2((alu13*-1.4426950408889634f)))))));
}

__kernel void r_128_4_4(write_only image2d_t data0_512, read_only image2d_t data1_4, read_only image2d_t data2_2048, __global half* data3_512) {
  float4 val0 = read_imagef(data1_4, smp, (int2)(0,0));
  float4 val1 = read_imagef(data2_2048, smp, (int2)(0,idx0));
  float4 val2 = read_imagef(data2_2048, smp, (int2)(1,idx0));
  float4 val3 = read_imagef(data2_2048, smp, (int2)(2,idx0));
  float4 val4 = read_imagef(data2_2048, smp, (int2)(3,idx0));
  float alu0 = ((val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w)+((float)(val5.x)));
  float alu1 = ((val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w)+((float)(val5.y)));
  float alu2 = ((val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w)+((float)(val5.z)));
  float alu3 = ((val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w)+((float)(val5.w)));
  write_imagef(data0_512, (int2)(idx0,0), (float4)((alu0*(1/(1.0f+exp2((alu0*-1.4426950408889634f))))),(alu1*(1/(1.0f+exp2((alu1*-1.4426950408889634f))))),(alu2*(1/(1.0f+exp2((alu2*-1.4426950408889634f))))),(alu3*(1/(1.0f+exp2((alu3*-1.4426950408889634f)))))));
}

__kernel void r_128_4_16_8_4(__global float* data0_512, read_only image2d_t data1_512, read_only image2d_t data2_262144, __global half* data3_512) {
  __attribute__ ((aligned (16))) __local float temp0[16];
  float acc0[1];
  float acc1[1];
  int gidx0 = get_group_id(0); /* 4 */
  int gidx1 = get_group_id(1); /* 128 */
  int lidx0 = get_local_id(0); /* 16 */
  *(acc1+0) = 0.0f;
  int alu1 = (gidx0+(gidx1<<2));
  half val0 = (*(data3_512+alu1));
  for (int ridx1007 = 0; ridx1007 < 8; ridx1007++) {
    float4 val1 = read_imagef(data1_512, smp, (int2)(((lidx0<<3)+ridx1007),0));
    float4 val2 = read_imagef(data2_262144, smp, (int2)((gidx0+(lidx0<<5)+(ridx1007<<2)),gidx1));
    *(acc0+0) = ((*(acc0+0))+(val1.x*val2.x)+(val1.y*val2.y)+(val1.z*val2.z)+(val1.w*val2.w));
  }
  *(temp0+lidx0) = (*(acc0+0));
  barrier(CLK_LOCAL_MEM_FENCE);
  if ((((bool)(lidx0))!=1)) {
    for (int ridx1109 = 0; ridx1109 < 16; ridx1109++) {
      float val3 = (*(temp0+ridx1109));
      *(acc1+0) = ((*(acc1+0))+val3);
    }
    *(data0_512+alu1) = ((*(acc1+0))+((float)(val0)));
  }
}

__kernel void r_3_128_4_3_128_4n1(write_only image2d_t data0_4608, __global float* data1_512, read_only image2d_t data2_4608, read_only image2d_t data3_262144, __global half* data4_4608, __global float* data5_512, __global float* data6_512) {
  }
  int alu29 = (idx0<<2);
  float4 val7 = (*((__global float4*)((data1_512+alu29))));
  float4 val8 = (*((__global float4*)((data5_512+alu29))));
  float4 val9 = (*((__global float4*)((data6_512+alu29))));
  int alu30 = (alu29+(idx1*1536));
  half4 val10 = (*((__global half4*)((data4_4608+alu30))));
  half4 val11 = (*((__global half4*)((data4_4608+(alu30+512)))));
  half4 val12 = (*((__global half4*)((data4_4608+(alu30+1024)))));
  write_imagef(data0_4608, (int2)(idx0,alu0), (float4)((val7.x+(*(acc0+0))+((float)(val10.x))+val8.x+val9.x),(val7.y+(*(acc0+3))+((float)(val10.y))+val8.y+val9.y),(val7.z+(*(acc0+6))+((float)(val10.z))+val8.z+val9.z),(val7.w+(*(acc0+9))+((float)(val10.w))+val8.w+val9.w)));
  write_imagef(data0_4608, (int2)(idx0,alu2), (float4)((val7.x+(*(acc0+1))+((float)(val11.x))+val8.x+val9.x),(val7.y+(*(acc0+4))+((float)(val11.y))+val8.y+val9.y),(val7.z+(*(acc0+7))+((float)(val11.z))+val8.z+val9.z),(val7.w+(*(acc0+10))+((float)(val11.w))+val8.w+val9.w)));
  write_imagef(data0_4608, (int2)(idx0,alu1), (float4)((val7.x+(*(acc0+2))+((float)(val12.x))+val8.x+val9.x),(val7.y+(*(acc0+5))+((float)(val12.y))+val8.y+val9.y),(val7.z+(*(acc0+8))+((float)(val12.z))+val8.z+val9.z),(val7.w+(*(acc0+11))+((float)(val12.w))+val8.w+val9.w)));
}

__kernel void r_9_16_8_4(__global float* data0_9, read_only image2d_t data1_4608) {
  int gidx0 = get_group_id(0); /* 9 */
  for (int ridx1002 = 0; ridx1002 < 8; ridx1002++) {
    float4 val0 = read_imagef(data1_4608, smp, (int2)(((lidx0<<3)+ridx1002),gidx0));
    *(acc0+0) = ((*(acc0+0))+val0.x+val0.y+val0.z+val0.w);
  }
    for (int ridx1103 = 0; ridx1103 < 16; ridx1103++) {
      float val1 = (*(temp0+ridx1103));
      *(acc1+0) = ((*(acc1+0))+val1);
    }
    *(data0_9+gidx0) = ((*(acc1+0))*0.001953125f);
  }
}

__kernel void r_9_16_8_4n1(__global float* data0_9, read_only image2d_t data1_4608, __global float* data2_9) {
  float val0 = (*(data2_9+gidx0));
    float4 val1 = read_imagef(data1_4608, smp, (int2)(((lidx0<<3)+ridx1002),gidx0));
    float alu2 = (val1.x-val0);
    float alu3 = (val1.y-val0);
    float alu4 = (val1.z-val0);
    float alu5 = (val1.w-val0);
    *(acc0+0) = ((*(acc0+0))+(alu2*alu2)+(alu3*alu3)+(alu4*alu4)+(alu5*alu5));
  }
      float val2 = (*(temp0+ridx1103));
      *(acc1+0) = ((*(acc1+0))+val2);
    }
    *(data0_9+gidx0) = (1/sqrt((((*(acc1+0))*0.001953125f)+9.999999747378752e-06f)));
  }
}

__kernel void E_3_128_4_3(write_only image2d_t data0_4608, read_only image2d_t data1_4608, __global float* data2_9, __global float* data3_9, __global float* data4_512, __global float* data5_512) {
  int2 cast0 = (int2)(idx0,alu0);
  float val0 = (*(data2_9+alu0));
  float val1 = (*(data3_9+alu0));
  float4 val2 = read_imagef(data1_4608, smp, cast0);
  int alu1 = (alu0+1);
  int2 cast1 = (int2)(idx0,alu1);
  float val3 = (*(data2_9+alu1));
  float val4 = (*(data3_9+alu1));
  float4 val5 = read_imagef(data1_4608, smp, cast1);
  int alu2 = (alu0+2);
  int2 cast2 = (int2)(idx0,alu2);
  float val6 = (*(data2_9+alu2));
  float val7 = (*(data3_9+alu2));
  float4 val8 = read_imagef(data1_4608, smp, cast2);
  int alu3 = (idx0<<2);
  float4 val9 = (*((__global float4*)((data4_512+alu3))));
  float4 val10 = (*((__global float4*)((data5_512+alu3))));
  write_imagef(data0_4608, cast1, (float4)((((val5.x-val3)*val4*val9.x)+val10.x),(((val5.y-val3)*val4*val9.y)+val10.y),(((val5.z-val3)*val4*val9.z)+val10.z),(((val5.w-val3)*val4*val9.w)+val10.w)));
  write_imagef(data0_4608, cast2, (float4)((((val8.x-val6)*val7*val9.x)+val10.x),(((val8.y-val6)*val7*val9.y)+val10.y),(((val8.z-val6)*val7*val9.z)+val10.z),(((val8.w-val6)*val7*val9.w)+val10.w)));
  write_imagef(data0_4608, cast0, (float4)((((val2.x-val0)*val1*val9.x)+val10.x),(((val2.y-val0)*val1*val9.y)+val10.y),(((val2.z-val0)*val1*val9.z)+val10.z),(((val2.w-val0)*val1*val9.w)+val10.w)));
}

__kernel void r_3_384_4_3_128_4(write_only image2d_t data0_13824, __global float* data1_1536, read_only image2d_t data2_4608, read_only image2d_t data3_786432) {
  int idx0 = get_global_id(0); /* 384 */
    float4 val3 = read_imagef(data3_786432, smp, (int2)(alu15,idx0));
    float4 val4 = read_imagef(data3_786432, smp, (int2)((alu15+1),idx0));
    float4 val5 = read_imagef(data3_786432, smp, (int2)((alu15+2),idx0));
    float4 val6 = read_imagef(data3_786432, smp, (int2)((alu15+3),idx0));
  }
  float4 val7 = (*((__global float4*)((data1_1536+(idx0<<2)))));
  write_imagef(data0_13824, (int2)(idx0,alu0), (float4)((val7.x+(*(acc0+0))),(val7.y+(*(acc0+3))),(val7.z+(*(acc0+6))),(val7.w+(*(acc0+9)))));
  write_imagef(data0_13824, (int2)(idx0,alu2), (float4)((val7.x+(*(acc0+1))),(val7.y+(*(acc0+4))),(val7.z+(*(acc0+7))),(val7.w+(*(acc0+10)))));
  write_imagef(data0_13824, (int2)(idx0,alu1), (float4)((val7.x+(*(acc0+2))),(val7.y+(*(acc0+5))),(val7.z+(*(acc0+8))),(val7.w+(*(acc0+11)))));
}

__kernel void E_9_128_4n1(write_only image2d_t data0_4608, read_only image2d_t data1_13824) {
  int2 cast0 = (int2)(idx0,idx1);
  float4 val0 = read_imagef(data1_13824, smp, cast0);
  write_imagef(data0_4608, cast0, val0);
}

__kernel void E_24_16_4_4(write_only image2d_t data0_6144, read_only image2d_t data1_13824) {
  int idx0 = get_global_id(0); /* 16 */
  int idx1 = get_global_id(1); /* 24 */
  float4 cast0 = (float4)(0.0f,0.0f,0.0f,0.0f);
  int alu0 = ((idx1*11)>>5);
  int alu1 = (idx0+(alu0<<4)+128);
  int alu2 = (idx1-(3*alu0));
  int alu3 = (alu2<<2);
  float4 val0 = read_imagef(data1_13824, smp, (int2)(alu1,alu3));
  bool alu4 = (alu2<2);
  float4 val1 = (alu4?read_imagef(data1_13824, smp, (int2)(alu1,(alu3+1))):cast0);
  float4 val2 = (alu4?read_imagef(data1_13824, smp, (int2)(alu1,(alu3+2))):cast0);
  float4 val3 = (alu4?read_imagef(data1_13824, smp, (int2)(alu1,(alu3+3))):cast0);
  int alu5 = (idx0<<2);
  write_imagef(data0_6144, (int2)(alu5,idx1), (float4)(val0.x,val1.x,val2.x,val3.x));
  write_imagef(data0_6144, (int2)((alu5+1),idx1), (float4)(val0.y,val1.y,val2.y,val3.y));
  write_imagef(data0_6144, (int2)((alu5+2),idx1), (float4)(val0.z,val1.z,val2.z,val3.z));
  write_imagef(data0_6144, (int2)((alu5+3),idx1), (float4)(val0.w,val1.w,val2.w,val3.w));
}

__kernel void E_128_12_4(write_only image2d_t data0_6144, read_only image2d_t data1_13824) {
  int idx0 = get_global_id(0); /* 12 */
  int idx1 = get_global_id(1); /* 128 */
  float4 val0 = read_imagef(data1_13824, smp, (int2)((idx1+256),idx0));
  write_imagef(data0_6144, (int2)(idx0,idx1), val0);
}

__kernel void r_9_8_3_16_4_4(write_only image2d_t data0_864, read_only image2d_t data1_4608, read_only image2d_t data2_6144) {
  __attribute__ ((aligned (16))) __local float temp0[64];
  int gidx0 = get_group_id(0); /* 3 */
  int gidx1 = get_group_id(1); /* 8 */
  int gidx2 = get_group_id(2); /* 9 */
  int alu0 = (gidx0+(gidx1*3));
  float4 val0 = read_imagef(data1_4608, smp, (int2)((lidx0+(gidx1<<4)),gidx2));
  int alu5 = (lidx0<<2);
  float4 val1 = read_imagef(data2_6144, smp, (int2)(alu5,alu0));
  float4 val2 = read_imagef(data2_6144, smp, (int2)((alu5+1),alu0));
  float4 val3 = read_imagef(data2_6144, smp, (int2)((alu5+2),alu0));
  float4 val4 = read_imagef(data2_6144, smp, (int2)((alu5+3),alu0));
  *((__local float4*)((temp0+alu5))) = (float4)(((val0.x*val1.x)+(val0.y*val2.x)+(val0.z*val3.x)+(val0.w*val4.x)),((val0.x*val1.y)+(val0.y*val2.y)+(val0.z*val3.y)+(val0.w*val4.y)),((val0.x*val1.z)+(val0.y*val2.z)+(val0.z*val3.z)+(val0.w*val4.z)),((val0.x*val1.w)+(val0.y*val2.w)+(val0.z*val3.w)+(val0.w*val4.w)));
    for (int ridx1108 = 0; ridx1108 < 16; ridx1108++) {
      float4 val5 = (*((__local float4*)((temp0+(ridx1108<<2)))));
      *(acc0+0) = ((*(acc0+0))+val5.x);
      *(acc0+1) = ((*(acc0+1))+val5.y);
      *(acc0+2) = ((*(acc0+2))+val5.z);
      *(acc0+3) = ((*(acc0+3))+val5.w);
    }
    write_imagef(data0_864, (int2)(alu0,gidx2), (float4)((*(acc0+0)),(*(acc0+1)),(*(acc0+2)),(*(acc0+3))));
  }
}

__kernel void r_8_9_9(__global float* data0_72, __global bool* data1_81, read_only image2d_t data2_864) {
  int idx0 = get_global_id(0); /* 9 */
  int idx1 = get_global_id(1); /* 8 */
  int alu0 = (idx0*9);
  bool val0 = (*(data1_81+alu0));
  bool val1 = (*(data1_81+(alu0+1)));
  bool val2 = (*(data1_81+(alu0+2)));
  bool val3 = (*(data1_81+(alu0+3)));
  bool val4 = (*(data1_81+(alu0+4)));
  bool val5 = (*(data1_81+(alu0+5)));
  bool val6 = (*(data1_81+(alu0+6)));
  bool val7 = (*(data1_81+(alu0+7)));
  bool val8 = (*(data1_81+(alu0+8)));
  int alu1 = (idx1*3);
  float4 val9 = read_imagef(data2_864, smp, (int2)(alu1,idx0));
  float4 val10 = read_imagef(data2_864, smp, (int2)((alu1+1),idx0));
  float4 val11 = read_imagef(data2_864, smp, (int2)((alu1+2),idx0));
  float alu2 = (val1?((float)(-INFINITY)):(val9.y*0.125f));
  float alu3 = (val2?((float)(-INFINITY)):(val9.z*0.125f));
  float alu4 = (val3?((float)(-INFINITY)):(val9.w*0.125f));
  float alu5 = (val4?((float)(-INFINITY)):(val10.x*0.125f));
  float alu6 = (val5?((float)(-INFINITY)):(val10.y*0.125f));
  float alu7 = (val6?((float)(-INFINITY)):(val10.z*0.125f));
  float alu8 = (val7?((float)(-INFINITY)):(val10.w*0.125f));
  float alu9 = (val8?((float)(-INFINITY)):(val11.x*0.125f));
  float alu10 = (val0?((float)(-INFINITY)):(val9.x*0.125f));
  float alu11 = ((alu10<alu2)?alu2:alu10);
  float alu12 = ((alu11<alu3)?alu3:alu11);
  float alu13 = ((alu12<alu4)?alu4:alu12);
  float alu14 = ((alu13<alu5)?alu5:alu13);
  float alu15 = ((alu14<alu6)?alu6:alu14);
  float alu16 = ((alu15<alu7)?alu7:alu15);
  float alu17 = ((alu16<alu8)?alu8:alu16);
  float alu18 = ((alu17<alu9)?alu9:alu17);
  *(data0_72+(idx0+(idx1*9))) = alu18;
}

__kernel void r_8_9_9n1(__global float* data0_72, __global bool* data1_81, read_only image2d_t data2_864, __global float* data3_72) {
  int alu2 = (idx0+(idx1*9));
  float val12 = (*(data3_72+alu2));
  float alu3 = (val1?((float)(-INFINITY)):(val9.y*0.125f));
  float alu4 = (val2?((float)(-INFINITY)):(val9.z*0.125f));
  float alu5 = (val3?((float)(-INFINITY)):(val9.w*0.125f));
  float alu6 = (val4?((float)(-INFINITY)):(val10.x*0.125f));
  float alu7 = (val5?((float)(-INFINITY)):(val10.y*0.125f));
  float alu8 = (val6?((float)(-INFINITY)):(val10.z*0.125f));
  float alu9 = (val7?((float)(-INFINITY)):(val10.w*0.125f));
  float alu10 = (val8?((float)(-INFINITY)):(val11.x*0.125f));
  float alu11 = (val0?((float)(-INFINITY)):(val9.x*0.125f));
  *(data0_72+alu2) = (1/(exp2(((alu11-val12)*1.4426950408889634f))+exp2(((alu3-val12)*1.4426950408889634f))+exp2(((alu4-val12)*1.4426950408889634f))+exp2(((alu5-val12)*1.4426950408889634f))+exp2(((alu6-val12)*1.4426950408889634f))+exp2(((alu7-val12)*1.4426950408889634f))+exp2(((alu8-val12)*1.4426950408889634f))+exp2(((alu9-val12)*1.4426950408889634f))+exp2(((alu10-val12)*1.4426950408889634f))));
}

__kernel void E_8_9_9(__global float* data0_648, __global bool* data1_81, read_only image2d_t data2_864, __global float* data3_72, __global float* data4_72) {
  int idx2 = get_global_id(2); /* 8 */
  int alu0 = (idx1*9);
  bool val0 = (*(data1_81+(idx0+alu0)));
  int alu1 = (idx1+(idx2*9));
  float val1 = (*(data3_72+alu1));
  float val2 = (*(data4_72+alu1));
  float4 val3 = read_imagef(data2_864, smp, (int2)(((idx2*3)+(idx0>>2)),idx1));
  int alu2 = (idx0&3);
  float alu3 = (((bool)(alu2))?((float)(NAN)):val3.x);
  float alu4 = ((alu2!=1)?alu3:val3.y);
  float alu5 = ((alu2!=2)?alu4:val3.z);
  float alu6 = ((alu2!=3)?alu5:val3.w);
  float alu7 = (val0?((float)(-INFINITY)):(alu6*0.125f));
  *(data0_648+(idx0+alu0+(idx2*81))) = (exp2(((alu7-val1)*1.4426950408889634f))*val2);
}

__kernel void E_9_24_4(write_only image2d_t data0_864, __global float* data1_648) {
  int idx0 = get_global_id(0); /* 24 */
  int alu0 = ((idx0*11)>>5);
  int alu1 = (idx0-(3*alu0));
  int alu2 = ((alu0*81)+(alu1<<2)+(idx1*9));
  float val0 = (*(data1_648+alu2));
  bool alu3 = (alu1<2);
  float val1 = (alu3?*(data1_648+(alu2+1)):0.0f);
  float val2 = (alu3?*(data1_648+(alu2+2)):0.0f);
  float val3 = (alu3?*(data1_648+(alu2+3)):0.0f);
  write_imagef(data0_864, (int2)(idx0,idx1), (float4)(val0,val1,val2,val3));
}

__kernel void r_3_8_16_4_3_3_4(write_only image2d_t data0_4608, read_only image2d_t data1_864, read_only image2d_t data2_6144) {
  int idx2 = get_global_id(2); /* 3 */
  int alu0 = (idx2*3);
  int alu1 = (idx0+(idx1<<4));
  int alu3 = (alu0+1);
  for (int ridx1007 = 0; ridx1007 < 3; ridx1007++) {
    int alu16 = ((idx1*3)+ridx1007);
    float4 val0 = read_imagef(data1_864, smp, (int2)(alu16,alu3));
    float4 val1 = read_imagef(data1_864, smp, (int2)(alu16,alu2));
    float4 val2 = read_imagef(data1_864, smp, (int2)(alu16,alu0));
    int alu17 = (ridx1007<<2);
    float4 val3 = read_imagef(data2_6144, smp, (int2)(alu17,alu1));
    float4 val4 = read_imagef(data2_6144, smp, (int2)((alu17+1),alu1));
    float4 val5 = read_imagef(data2_6144, smp, (int2)((alu17+2),alu1));
    float4 val6 = read_imagef(data2_6144, smp, (int2)((alu17+3),alu1));
    *(acc0+2) = ((*(acc0+2))+(val1.x*val3.x)+(val1.y*val4.x)+(val1.z*val5.x)+(val1.w*val6.x));
    *(acc0+5) = ((*(acc0+5))+(val1.x*val3.y)+(val1.y*val4.y)+(val1.z*val5.y)+(val1.w*val6.y));
    *(acc0+8) = ((*(acc0+8))+(val1.x*val3.z)+(val1.y*val4.z)+(val1.z*val5.z)+(val1.w*val6.z));
    *(acc0+11) = ((*(acc0+11))+(val1.x*val3.w)+(val1.y*val4.w)+(val1.z*val5.w)+(val1.w*val6.w));
    *(acc0+0) = ((*(acc0+0))+(val2.x*val3.x)+(val2.y*val4.x)+(val2.z*val5.x)+(val2.w*val6.x));
    *(acc0+3) = ((*(acc0+3))+(val2.x*val3.y)+(val2.y*val4.y)+(val2.z*val5.y)+(val2.w*val6.y));
    *(acc0+6) = ((*(acc0+6))+(val2.x*val3.z)+(val2.y*val4.z)+(val2.z*val5.z)+(val2.w*val6.z));
    *(acc0+9) = ((*(acc0+9))+(val2.x*val3.w)+(val2.y*val4.w)+(val2.z*val5.w)+(val2.w*val6.w));
  }
  write_imagef(data0_4608, (int2)(alu1,alu3), (float4)((*(acc0+1)),(*(acc0+4)),(*(acc0+7)),(*(acc0+10))));
  write_imagef(data0_4608, (int2)(alu1,alu2), (float4)((*(acc0+2)),(*(acc0+5)),(*(acc0+8)),(*(acc0+11))));
  write_imagef(data0_4608, (int2)(alu1,alu0), (float4)((*(acc0+0)),(*(acc0+3)),(*(acc0+6)),(*(acc0+9))));
}

__kernel void r_3_128_4_3_128_4n2(write_only image2d_t data0_4608, read_only image2d_t data1_4608, __global float* data2_512, read_only image2d_t data3_4608, read_only image2d_t data4_262144) {
    float4 val0 = read_imagef(data3_4608, smp, (int2)(ridx1007,alu2));
    float4 val1 = read_imagef(data3_4608, smp, (int2)(ridx1007,alu0));
    float4 val2 = read_imagef(data3_4608, smp, (int2)(ridx1007,alu1));
    float4 val3 = read_imagef(data4_262144, smp, (int2)(alu15,idx0));
    float4 val4 = read_imagef(data4_262144, smp, (int2)((alu15+1),idx0));
    float4 val5 = read_imagef(data4_262144, smp, (int2)((alu15+2),idx0));
    float4 val6 = read_imagef(data4_262144, smp, (int2)((alu15+3),idx0));
  }
  int2 cast0 = (int2)(idx0,alu2);
  int2 cast2 = (int2)(idx0,alu0);
  float4 val7 = read_imagef(data1_4608, smp, cast0);
  float4 val8 = read_imagef(data1_4608, smp, cast1);
  float4 val9 = read_imagef(data1_4608, smp, cast2);
  float4 val10 = (*((__global float4*)((data2_512+(idx0<<2)))));
  write_imagef(data0_4608, cast0, (float4)((val7.x+val10.x+(*(acc0+1))),(val7.y+val10.y+(*(acc0+4))),(val7.z+val10.z+(*(acc0+7))),(val7.w+val10.w+(*(acc0+10)))));
  write_imagef(data0_4608, cast1, (float4)((val8.x+val10.x+(*(acc0+2))),(val8.y+val10.y+(*(acc0+5))),(val8.z+val10.z+(*(acc0+8))),(val8.w+val10.w+(*(acc0+11)))));
  write_imagef(data0_4608, cast2, (float4)((val9.x+val10.x+(*(acc0+0))),(val9.y+val10.y+(*(acc0+3))),(val9.z+val10.z+(*(acc0+6))),(val9.w+val10.w+(*(acc0+9)))));
}

__kernel void r_3_512_4_3_128_4(write_only image2d_t data0_18432, __global float* data1_2048, read_only image2d_t data2_4608, read_only image2d_t data3_1048576) {
  int idx0 = get_global_id(0); /* 512 */
    float4 val3 = read_imagef(data3_1048576, smp, (int2)(alu15,idx0));
    float4 val4 = read_imagef(data3_1048576, smp, (int2)((alu15+1),idx0));
    float4 val5 = read_imagef(data3_1048576, smp, (int2)((alu15+2),idx0));
    float4 val6 = read_imagef(data3_1048576, smp, (int2)((alu15+3),idx0));
  }
  float4 val7 = (*((__global float4*)((data1_2048+(idx0<<2)))));
  write_imagef(data0_18432, (int2)(idx0,alu0), (float4)(((1/(1.0f+exp2(((alu29+(0.044708251953125f*alu29*alu29*alu29))*-2.3021129851685216f))))*alu29),((1/(1.0f+exp2(((alu32+(0.044708251953125f*alu32*alu32*alu32))*-2.3021129851685216f))))*alu32),((1/(1.0f+exp2(((alu35+(0.044708251953125f*alu35*alu35*alu35))*-2.3021129851685216f))))*alu35),((1/(1.0f+exp2(((alu38+(0.044708251953125f*alu38*alu38*alu38))*-2.3021129851685216f))))*alu38)));
  write_imagef(data0_18432, (int2)(idx0,alu2), (float4)(((1/(1.0f+exp2(((alu30+(0.044708251953125f*alu30*alu30*alu30))*-2.3021129851685216f))))*alu30),((1/(1.0f+exp2(((alu33+(0.044708251953125f*alu33*alu33*alu33))*-2.3021129851685216f))))*alu33),((1/(1.0f+exp2(((alu36+(0.044708251953125f*alu36*alu36*alu36))*-2.3021129851685216f))))*alu36),((1/(1.0f+exp2(((alu39+(0.044708251953125f*alu39*alu39*alu39))*-2.3021129851685216f))))*alu39)));
  write_imagef(data0_18432, (int2)(idx0,alu1), (float4)(((1/(1.0f+exp2(((alu31+(0.044708251953125f*alu31*alu31*alu31))*-2.3021129851685216f))))*alu31),((1/(1.0f+exp2(((alu34+(0.044708251953125f*alu34*alu34*alu34))*-2.3021129851685216f))))*alu34),((1/(1.0f+exp2(((alu37+(0.044708251953125f*alu37*alu37*alu37))*-2.3021129851685216f))))*alu37),((1/(1.0f+exp2(((alu40+(0.044708251953125f*alu40*alu40*alu40))*-2.3021129851685216f))))*alu40)));
}

__kernel void r_3_128_4_3_512_4(write_only image2d_t data0_4608, read_only image2d_t data1_4608, __global float* data2_512, read_only image2d_t data3_18432, read_only image2d_t data4_1048576) {
  for (int ridx1007 = 0; ridx1007 < 512; ridx1007++) {
    float4 val0 = read_imagef(data3_18432, smp, (int2)(ridx1007,alu2));
    float4 val1 = read_imagef(data3_18432, smp, (int2)(ridx1007,alu0));
    float4 val2 = read_imagef(data3_18432, smp, (int2)(ridx1007,alu1));
    float4 val3 = read_imagef(data4_1048576, smp, (int2)(alu15,idx0));
    float4 val4 = read_imagef(data4_1048576, smp, (int2)((alu15+1),idx0));
    float4 val5 = read_imagef(data4_1048576, smp, (int2)((alu15+2),idx0));
    float4 val6 = read_imagef(data4_1048576, smp, (int2)((alu15+3),idx0));
  }
}

__kernel void E_128_4n1(write_only image2d_t data0_512, read_only image2d_t data1_4608) {
  float4 val0 = read_imagef(data1_4608, smp, (int2)(idx0,8));
  write_imagef(data0_512, (int2)(idx0,0), val0);
}

__kernel void r_256_16_4_8_4(write_only image2d_t data0_1024, read_only image2d_t data1_512, read_only image2d_t data2_524288, __global half* data3_1024) {
  float acc1[4];
  int gidx0 = get_group_id(0); /* 256 */
  *(acc1+1) = 0.0f;
  *(acc1+2) = 0.0f;
  *(acc1+3) = 0.0f;
  half4 val0 = (*((__global half4*)((data3_1024+(gidx0<<2)))));
    int alu8 = ((lidx0<<5)+(ridx1007<<2));
    float4 val2 = read_imagef(data2_524288, smp, (int2)(alu8,gidx0));
    float4 val3 = read_imagef(data2_524288, smp, (int2)((alu8+1),gidx0));
    float4 val4 = read_imagef(data2_524288, smp, (int2)((alu8+2),gidx0));
    float4 val5 = read_imagef(data2_524288, smp, (int2)((alu8+3),gidx0));
    *(acc0+1) = ((*(acc0+1))+(val1.x*val3.x)+(val1.y*val3.y)+(val1.z*val3.z)+(val1.w*val3.w));
    *(acc0+2) = ((*(acc0+2))+(val1.x*val4.x)+(val1.y*val4.y)+(val1.z*val4.z)+(val1.w*val4.w));
    *(acc0+3) = ((*(acc0+3))+(val1.x*val5.x)+(val1.y*val5.y)+(val1.z*val5.z)+(val1.w*val5.w));
  }
  *((__local float4*)((temp0+(lidx0<<2)))) = (float4)((*(acc0+0)),(*(acc0+1)),(*(acc0+2)),(*(acc0+3)));
      float4 val6 = (*((__local float4*)((temp0+(ridx1109<<2)))));
      *(acc1+0) = ((*(acc1+0))+val6.x);
      *(acc1+1) = ((*(acc1+1))+val6.y);
      *(acc1+2) = ((*(acc1+2))+val6.z);
      *(acc1+3) = ((*(acc1+3))+val6.w);
    }
    float alu22 = ((*(acc1+0))+((float)(val0.x)));
    float alu23 = ((*(acc1+1))+((float)(val0.y)));
    float alu24 = ((*(acc1+2))+((float)(val0.z)));
    float alu25 = ((*(acc1+3))+((float)(val0.w)));
    float alu26 = ((0.0f<alu22)?alu22:0.0f);
    float alu27 = ((0.0f<alu23)?alu23:0.0f);
    float alu28 = ((0.0f<alu24)?alu24:0.0f);
    float alu29 = ((0.0f<alu25)?alu25:0.0f);
    write_imagef(data0_1024, (int2)(gidx0,0), (float4)(alu26,alu27,alu28,alu29));
  }
}

__kernel void r_128_16_4_16_4(__global float* data0_512, read_only image2d_t data1_4608, read_only image2d_t data2_1024, read_only image2d_t data3_524288, __global half* data4_512) {
  int gidx0 = get_group_id(0); /* 128 */
  float4 val0 = read_imagef(data1_4608, smp, (int2)(gidx0,8));
  int alu4 = (gidx0<<2);
  half4 val1 = (*((__global half4*)((data4_512+alu4))));
  for (int ridx1007 = 0; ridx1007 < 16; ridx1007++) {
    float4 val2 = read_imagef(data2_1024, smp, (int2)(((lidx0<<4)+ridx1007),0));
    int alu9 = ((lidx0<<6)+(ridx1007<<2));
    float4 val3 = read_imagef(data3_524288, smp, (int2)(alu9,gidx0));
    float4 val4 = read_imagef(data3_524288, smp, (int2)((alu9+1),gidx0));
    float4 val5 = read_imagef(data3_524288, smp, (int2)((alu9+2),gidx0));
    float4 val6 = read_imagef(data3_524288, smp, (int2)((alu9+3),gidx0));
    *(acc0+1) = ((*(acc0+1))+(val2.x*val4.x)+(val2.y*val4.y)+(val2.z*val4.z)+(val2.w*val4.w));
    *(acc0+2) = ((*(acc0+2))+(val2.x*val5.x)+(val2.y*val5.y)+(val2.z*val5.z)+(val2.w*val5.w));
    *(acc0+3) = ((*(acc0+3))+(val2.x*val6.x)+(val2.y*val6.y)+(val2.z*val6.z)+(val2.w*val6.w));
    *(acc0+0) = ((*(acc0+0))+(val2.x*val3.x)+(val2.y*val3.y)+(val2.z*val3.z)+(val2.w*val3.w));
  }
      float4 val7 = (*((__local float4*)((temp0+(ridx1109<<2)))));
      *(acc1+0) = ((*(acc1+0))+val7.x);
      *(acc1+1) = ((*(acc1+1))+val7.y);
      *(acc1+2) = ((*(acc1+2))+val7.z);
      *(acc1+3) = ((*(acc1+3))+val7.w);
    }
    *((__global float4*)((data0_512+alu4))) = (float4)((val0.x+(*(acc1+0))+((float)(val1.x))),(val0.y+(*(acc1+1))+((float)(val1.y))),(val0.z+(*(acc1+2))+((float)(val1.z))),(val0.w+(*(acc1+3))+((float)(val1.w))));
  }
}

__kernel void E_128_4n2(write_only image2d_t data0_512, __global float* data1_512) {
  float4 val0 = (*((__global float4*)((data1_512+(idx0<<2)))));
  float alu0 = ((0.0f<val0.x)?val0.x:0.0f);
  float alu1 = ((0.0f<val0.y)?val0.y:0.0f);
  float alu2 = ((0.0f<val0.z)?val0.z:0.0f);
  float alu3 = ((0.0f<val0.w)?val0.w:0.0f);
  write_imagef(data0_512, (int2)(idx0,0), (float4)(alu0,alu1,alu2,alu3));
}

__kernel void r_128_16_4_16_4n1(write_only image2d_t data0_512, __global float* data1_512, read_only image2d_t data2_1024, read_only image2d_t data3_524288, __global half* data4_512) {
  half4 val0 = (*((__global half4*)((data4_512+alu4))));
  float4 val1 = (*((__global float4*)((data1_512+alu4))));
  float alu5 = ((0.0f<val1.x)?val1.x:0.0f);
  float alu6 = ((0.0f<val1.y)?val1.y:0.0f);
  float alu7 = ((0.0f<val1.z)?val1.z:0.0f);
  float alu8 = ((0.0f<val1.w)?val1.w:0.0f);
    int alu13 = ((lidx0<<6)+(ridx1007<<2));
    float4 val3 = read_imagef(data3_524288, smp, (int2)(alu13,gidx0));
    float4 val4 = read_imagef(data3_524288, smp, (int2)((alu13+1),gidx0));
    float4 val5 = read_imagef(data3_524288, smp, (int2)((alu13+2),gidx0));
    float4 val6 = read_imagef(data3_524288, smp, (int2)((alu13+3),gidx0));
  }
    }
    float alu27 = (alu5+(*(acc1+0))+((float)(val0.x)));
    float alu28 = (alu6+(*(acc1+1))+((float)(val0.y)));
    float alu29 = (alu7+(*(acc1+2))+((float)(val0.z)));
    float alu30 = (alu8+(*(acc1+3))+((float)(val0.w)));
    float alu31 = ((0.0f<alu27)?alu27:0.0f);
    float alu32 = ((0.0f<alu28)?alu28:0.0f);
    float alu33 = ((0.0f<alu29)?alu29:0.0f);
    float alu34 = ((0.0f<alu30)?alu30:0.0f);
    write_imagef(data0_512, (int2)(gidx0,0), (float4)(alu31,alu32,alu33,alu34));
  }
}

__kernel void r_64_16_4_8_4(write_only image2d_t data0_256, read_only image2d_t data1_512, read_only image2d_t data2_131072, __global half* data3_256) {
  int gidx0 = get_group_id(0); /* 64 */
  half4 val0 = (*((__global half4*)((data3_256+(gidx0<<2)))));
    float4 val2 = read_imagef(data2_131072, smp, (int2)(alu8,gidx0));
    float4 val3 = read_imagef(data2_131072, smp, (int2)((alu8+1),gidx0));
    float4 val4 = read_imagef(data2_131072, smp, (int2)((alu8+2),gidx0));
    float4 val5 = read_imagef(data2_131072, smp, (int2)((alu8+3),gidx0));
  }
    }
    write_imagef(data0_256, (int2)(gidx0,0), (float4)(alu26,alu27,alu28,alu29));
  }
}

__kernel void r_8_16_4_8_4(write_only image2d_t data0_32, read_only image2d_t data1_512, read_only image2d_t data2_16384, __global half* data3_32) {
  int gidx0 = get_group_id(0); /* 8 */
  half4 val0 = (*((__global half4*)((data3_32+(gidx0<<2)))));
    float4 val2 = read_imagef(data2_16384, smp, (int2)(alu8,gidx0));
    float4 val3 = read_imagef(data2_16384, smp, (int2)((alu8+1),gidx0));
    float4 val4 = read_imagef(data2_16384, smp, (int2)((alu8+2),gidx0));
    float4 val5 = read_imagef(data2_16384, smp, (int2)((alu8+3),gidx0));
  }
    }
    write_imagef(data0_32, (int2)(gidx0,0), (float4)(alu26,alu27,alu28,alu29));
  }
}

__kernel void r_64_16_4_4_4(write_only image2d_t data0_256, read_only image2d_t data1_256, read_only image2d_t data2_65536, __global half* data3_256) {
  int alu4 = (lidx0<<2);
  for (int ridx1007 = 0; ridx1007 < 4; ridx1007++) {
    float4 val1 = read_imagef(data1_256, smp, (int2)((alu4+ridx1007),0));
    int alu9 = ((lidx0<<4)+(ridx1007<<2));
    float4 val2 = read_imagef(data2_65536, smp, (int2)(alu9,gidx0));
    float4 val3 = read_imagef(data2_65536, smp, (int2)((alu9+1),gidx0));
    float4 val4 = read_imagef(data2_65536, smp, (int2)((alu9+2),gidx0));
    float4 val5 = read_imagef(data2_65536, smp, (int2)((alu9+3),gidx0));
  }
  *((__local float4*)((temp0+alu4))) = (float4)((*(acc0+0)),(*(acc0+1)),(*(acc0+2)),(*(acc0+3)));
    }
    float alu23 = ((*(acc1+0))+((float)(val0.x)));
    float alu24 = ((*(acc1+1))+((float)(val0.y)));
    float alu25 = ((*(acc1+2))+((float)(val0.z)));
    float alu26 = ((*(acc1+3))+((float)(val0.w)));
    float alu30 = ((0.0f<alu26)?alu26:0.0f);
    write_imagef(data0_256, (int2)(gidx0,0), (float4)(alu27,alu28,alu29,alu30));
  }
}

__kernel void r_8_4_8_4(write_only image2d_t data0_32, read_only image2d_t data1_32, read_only image2d_t data2_1024, __global half* data3_32) {
  int idx0 = get_global_id(0); /* 8 */
    float4 val0 = read_imagef(data1_32, smp, (int2)(ridx1007,0));
    float4 val1 = read_imagef(data2_1024, smp, (int2)(alu4,idx0));
    float4 val2 = read_imagef(data2_1024, smp, (int2)((alu4+1),idx0));
    float4 val3 = read_imagef(data2_1024, smp, (int2)((alu4+2),idx0));
    float4 val4 = read_imagef(data2_1024, smp, (int2)((alu4+3),idx0));
  }
  half4 val5 = (*((__global half4*)((data3_32+(idx0<<2)))));
  float alu14 = ((0.0f<alu10)?alu10:0.0f);
  float alu15 = ((0.0f<alu11)?alu11:0.0f);
  float alu16 = ((0.0f<alu12)?alu12:0.0f);
  float alu17 = ((0.0f<alu13)?alu13:0.0f);
  write_imagef(data0_32, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_64_16_4_4_4n1(write_only image2d_t data0_256, read_only image2d_t data1_256, read_only image2d_t data2_256, read_only image2d_t data3_65536, __global half* data4_256) {
  int2 cast0 = (int2)(gidx0,0);
  float4 val0 = read_imagef(data1_256, smp, cast0);
  half4 val1 = (*((__global half4*)((data4_256+(gidx0<<2)))));
    float4 val2 = read_imagef(data2_256, smp, (int2)((alu4+ridx1007),0));
    float4 val3 = read_imagef(data3_65536, smp, (int2)(alu9,gidx0));
    float4 val4 = read_imagef(data3_65536, smp, (int2)((alu9+1),gidx0));
    float4 val5 = read_imagef(data3_65536, smp, (int2)((alu9+2),gidx0));
    float4 val6 = read_imagef(data3_65536, smp, (int2)((alu9+3),gidx0));
  }
    }
    float alu23 = (val0.x+(*(acc1+0))+((float)(val1.x)));
    float alu24 = (val0.y+(*(acc1+1))+((float)(val1.y)));
    float alu25 = (val0.z+(*(acc1+2))+((float)(val1.z)));
    float alu26 = (val0.w+(*(acc1+3))+((float)(val1.w)));
    write_imagef(data0_256, cast0, (float4)(alu27,alu28,alu29,alu30));
  }
}

__kernel void r_8_4_8_4n1(write_only image2d_t data0_32, read_only image2d_t data1_32, read_only image2d_t data2_32, read_only image2d_t data3_1024, __global half* data4_32) {
    float4 val0 = read_imagef(data2_32, smp, (int2)(ridx1007,0));
    float4 val1 = read_imagef(data3_1024, smp, (int2)(alu4,idx0));
    float4 val2 = read_imagef(data3_1024, smp, (int2)((alu4+1),idx0));
    float4 val3 = read_imagef(data3_1024, smp, (int2)((alu4+2),idx0));
    float4 val4 = read_imagef(data3_1024, smp, (int2)((alu4+3),idx0));
  }
  int2 cast0 = (int2)(idx0,0);
  float4 val5 = read_imagef(data1_32, smp, cast0);
  half4 val6 = (*((__global half4*)((data4_32+(idx0<<2)))));
  float alu10 = (val5.x+(*(acc0+0))+((float)(val6.x)));
  float alu11 = (val5.y+(*(acc0+1))+((float)(val6.y)));
  float alu12 = (val5.z+(*(acc0+2))+((float)(val6.z)));
  float alu13 = (val5.w+(*(acc0+3))+((float)(val6.w)));
  write_imagef(data0_32, cast0, (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_248_16_4_4_4(write_only image2d_t data0_992, read_only image2d_t data1_256, read_only image2d_t data2_253952) {
  int gidx0 = get_group_id(0); /* 248 */
    float4 val0 = read_imagef(data1_256, smp, (int2)((alu4+ridx1007),0));
    float4 val1 = read_imagef(data2_253952, smp, (int2)(alu9,gidx0));
    float4 val2 = read_imagef(data2_253952, smp, (int2)((alu9+1),gidx0));
    float4 val3 = read_imagef(data2_253952, smp, (int2)((alu9+2),gidx0));
    float4 val4 = read_imagef(data2_253952, smp, (int2)((alu9+3),gidx0));
  }
      float4 val5 = (*((__local float4*)((temp0+(ridx1109<<2)))));
      *(acc1+0) = ((*(acc1+0))+val5.x);
      *(acc1+1) = ((*(acc1+1))+val5.y);
      *(acc1+2) = ((*(acc1+2))+val5.z);
      *(acc1+3) = ((*(acc1+3))+val5.w);
    }
    write_imagef(data0_992, (int2)(gidx0,0), (float4)((*(acc1+0)),(*(acc1+1)),(*(acc1+2)),(*(acc1+3))));
  }
}

__kernel void r_2_4_8_4(write_only image2d_t data0_8, read_only image2d_t data1_32, read_only image2d_t data2_256, __global half* data3_8) {
  int idx0 = get_global_id(0); /* 2 */
    float4 val1 = read_imagef(data2_256, smp, (int2)(alu4,idx0));
    float4 val2 = read_imagef(data2_256, smp, (int2)((alu4+1),idx0));
    float4 val3 = read_imagef(data2_256, smp, (int2)((alu4+2),idx0));
    float4 val4 = read_imagef(data2_256, smp, (int2)((alu4+3),idx0));
  }
  half4 val5 = (*((__global half4*)((data3_8+(idx0<<2)))));
  write_imagef(data0_8, (int2)(idx0,0), (float4)(((*(acc0+0))+((float)(val5.x))),((*(acc0+1))+((float)(val5.y))),((*(acc0+2))+((float)(val5.z))),((*(acc0+3))+((float)(val5.w)))));
}

__kernel void E_250_4(__global float* data0_1000, read_only image2d_t data1_992, __global half* data2_990, __global half* data3_990, read_only image2d_t data4_8, __global half* data5_2) {
  int idx0 = get_global_id(0); /* 250 */
  half2 cast1 = (half2)(((half)(0.0f)),((half)(0.0f)));
  float4 val0 = read_imagef(data1_992, smp, cast0);
  float4 val1 = read_imagef(data4_8, smp, (int2)((idx0+-248),0));
  float4 val2 = read_imagef(data4_8, smp, (int2)((idx0+-247),0));
  int alu0 = (idx0<<2);
  bool alu2 = (idx0<247);
  half2 val3 = (alu2?*((__global half2*)((data2_990+alu1))):cast1);
  half2 val4 = (alu2?*((__global half2*)((data3_990+alu1))):cast1);
  float4 val5 = (alu2?read_imagef(data1_992, smp, cast0):(float4)(0.0f,0.0f,0.0f,0.0f));
  bool alu3 = (idx0<248);
  half2 val6 = (alu3?*((__global half2*)((data2_990+alu0))):cast1);
  half2 val7 = (alu3?*((__global half2*)((data3_990+alu0))):cast1);
  half2 val8 = ((248<idx0)?*((__global half2*)((data5_2+0))):cast1);
  *((__global float4*)((data0_1000+alu0))) = (float4)((((val0.x+((float)(val6.x)))*((float)(val7.x)))+val1.z),(((val0.y+((float)(val6.y)))*((float)(val7.y)))+val1.w),(((val5.z+((float)(val3.x)))*((float)(val4.x)))+val2.x+((float)(val8.x))),(((val5.w+((float)(val3.y)))*((float)(val4.y)))+val2.y+((float)(val8.y))));
}