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

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

#pragma OPENCL EXTENSION cl_khr_fp16 : enable
__kernel void E_2_2(__global half* data0_32, __global float* data1_2) {
  int idx0 = get_global_id(0); /* 2 */
  float val0 = (*(data1_2+idx0));
  *(data0_32+idx0) = ((half)(val0));
  *(data0_32+(idx0+2)) = ((half)(0.0f));
}

__kernel void r_3_128_4_3_128_4(write_only image2d_t data0_1x1224, read_only image2d_t data1_1x1224, read_only image2d_t data2_128x576, read_only image2d_t data3_1x128) {
  float acc0[12];
  int idx1 = get_global_id(1); /* 3 */
  int alu0 = (idx1*408);
  *(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 Ridx0 = 0; Ridx0 < 128; Ridx0++) {
    int alu13 = (alu0+Ridx0);
    float4 val0 = read_imagef(data1_1x1224, smp, (int2)((alu13+272),0));
    float4 val1 = read_imagef(data1_1x1224, smp, (int2)(alu13,0));
    int alu14 = (Ridx0<<2);
    float4 val2 = read_imagef(data2_128x576, smp, (int2)((alu14+1),idx0));
    float4 val3 = read_imagef(data2_128x576, smp, (int2)((alu14+2),idx0));
    float4 val4 = read_imagef(data2_128x576, smp, (int2)((alu14+3),idx0));
    float4 val5 = read_imagef(data2_128x576, smp, (int2)(alu14,idx0));
    float4 val6 = read_imagef(data1_1x1224, smp, (int2)((alu13+136),0));
    *(acc0+0) = ((*(acc0+0))+(val1.x*val5.x)+(val1.y*val2.x)+(val1.z*val3.x)+(val1.w*val4.x));
    *(acc0+1) = ((*(acc0+1))+(val6.x*val5.x)+(val6.y*val2.x)+(val6.z*val3.x)+(val6.w*val4.x));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val5.x)+(val0.y*val2.x)+(val0.z*val3.x)+(val0.w*val4.x));
    *(acc0+3) = ((*(acc0+3))+(val1.x*val5.y)+(val1.y*val2.y)+(val1.z*val3.y)+(val1.w*val4.y));
    *(acc0+4) = ((*(acc0+4))+(val6.x*val5.y)+(val6.y*val2.y)+(val6.z*val3.y)+(val6.w*val4.y));
    *(acc0+5) = ((*(acc0+5))+(val0.x*val5.y)+(val0.y*val2.y)+(val0.z*val3.y)+(val0.w*val4.y));
    *(acc0+6) = ((*(acc0+6))+(val1.x*val5.z)+(val1.y*val2.z)+(val1.z*val3.z)+(val1.w*val4.z));
    *(acc0+7) = ((*(acc0+7))+(val6.x*val5.z)+(val6.y*val2.z)+(val6.z*val3.z)+(val6.w*val4.z));
    *(acc0+8) = ((*(acc0+8))+(val0.x*val5.z)+(val0.y*val2.z)+(val0.z*val3.z)+(val0.w*val4.z));
    *(acc0+9) = ((*(acc0+9))+(val1.x*val5.w)+(val1.y*val2.w)+(val1.z*val3.w)+(val1.w*val4.w));
    *(acc0+10) = ((*(acc0+10))+(val6.x*val5.w)+(val6.y*val2.w)+(val6.z*val3.w)+(val6.w*val4.w));
    *(acc0+11) = ((*(acc0+11))+(val0.x*val5.w)+(val0.y*val2.w)+(val0.z*val3.w)+(val0.w*val4.w));
  }
  float4 val7 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  float alu28 = ((*(acc0+0))+val7.x);
  float alu29 = ((*(acc0+3))+val7.y);
  float alu30 = ((*(acc0+6))+val7.z);
  float alu31 = ((*(acc0+9))+val7.w);
  float alu32 = ((*(acc0+1))+val7.x);
  float alu33 = ((*(acc0+4))+val7.y);
  float alu34 = ((*(acc0+7))+val7.z);
  float alu35 = ((*(acc0+10))+val7.w);
  float alu36 = ((*(acc0+2))+val7.x);
  float alu37 = ((*(acc0+5))+val7.y);
  float alu38 = ((*(acc0+8))+val7.z);
  float alu39 = ((*(acc0+11))+val7.w);
  int alu40 = (idx0+alu0);
  write_imagef(data0_1x1224, (int2)(alu40,0), (float4)((alu28*(1/(1.0f+exp2((alu28*-1.4426950408889634f))))),(alu29*(1/(1.0f+exp2((alu29*-1.4426950408889634f))))),(alu30*(1/(1.0f+exp2((alu30*-1.4426950408889634f))))),(alu31*(1/(1.0f+exp2((alu31*-1.4426950408889634f)))))));
  write_imagef(data0_1x1224, (int2)((alu40+136),0), (float4)((alu32*(1/(1.0f+exp2((alu32*-1.4426950408889634f))))),(alu33*(1/(1.0f+exp2((alu33*-1.4426950408889634f))))),(alu34*(1/(1.0f+exp2((alu34*-1.4426950408889634f))))),(alu35*(1/(1.0f+exp2((alu35*-1.4426950408889634f)))))));
  write_imagef(data0_1x1224, (int2)((alu40+272),0), (float4)((alu36*(1/(1.0f+exp2((alu36*-1.4426950408889634f))))),(alu37*(1/(1.0f+exp2((alu37*-1.4426950408889634f))))),(alu38*(1/(1.0f+exp2((alu38*-1.4426950408889634f))))),(alu39*(1/(1.0f+exp2((alu39*-1.4426950408889634f)))))));
}

__kernel void r_128_4_50_4(write_only image2d_t data0_1x136, read_only image2d_t data1_1x200, read_only image2d_t data2_128x1600, read_only image2d_t data3_1x128) {
  float acc0[4];
  for (int Ridx0 = 0; Ridx0 < 50; Ridx0++) {
    float4 val0 = read_imagef(data1_1x200, smp, (int2)(Ridx0,0));
    int alu4 = (Ridx0<<2);
    float4 val1 = read_imagef(data2_128x1600, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_128x1600, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_128x1600, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_128x1600, smp, (int2)(alu4,idx0));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w));
  }
  float4 val5 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  float alu10 = ((*(acc0+0))+val5.x);
  float alu11 = ((*(acc0+1))+val5.y);
  float alu12 = ((*(acc0+2))+val5.z);
  float alu13 = ((*(acc0+3))+val5.w);
  write_imagef(data0_1x136, (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_1x136, read_only image2d_t data1_1x8, read_only image2d_t data2_1x1024, read_only image2d_t data3_1x128) {
  float4 val0 = read_imagef(data1_1x8, smp, (int2)(0,0));
  int alu0 = (idx0<<3);
  float4 val1 = read_imagef(data2_1x1024, smp, (int2)((alu0+1),0));
  float4 val2 = read_imagef(data2_1x1024, smp, (int2)(alu0,0));
  float4 val3 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  float4 val4 = read_imagef(data2_1x1024, smp, (int2)((alu0+2),0));
  float4 val5 = read_imagef(data2_1x1024, smp, (int2)((alu0+3),0));
  float alu1 = ((val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w)+val3.y);
  float alu2 = ((val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w)+val3.z);
  float alu3 = ((val0.x*val5.x)+(val0.y*val5.y)+(val0.z*val5.z)+(val0.w*val5.w)+val3.w);
  float alu4 = ((val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w)+val3.x);
  write_imagef(data0_1x136, (int2)(idx0,0), (float4)((alu4*(1/(1.0f+exp2((alu4*-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_16_4_8_4(write_only image2d_t data0_1x128, read_only image2d_t data1_1x136, read_only image2d_t data2_128x576, read_only image2d_t data3_1x128) {
  float acc1[4];
  __attribute__ ((aligned (16))) __local float temp0[64];
  int gidx0 = get_group_id(0); /* 128 */
  int lidx0 = get_local_id(0); /* 16 */
  for (int Ridx0 = 0; Ridx0 < 8; Ridx0++) {
    float4 val0 = read_imagef(data1_1x136, smp, (int2)(((lidx0<<3)+Ridx0),0));
    int alu4 = ((lidx0<<5)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_128x576, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_128x576, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_128x576, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_128x576, smp, (int2)(alu4,gidx0));
  }
  *((__local float4*)((temp0+(lidx0<<2)))) = (float4)((*(acc0+0)),(*(acc0+1)),(*(acc0+2)),(*(acc0+3)));
  barrier(CLK_LOCAL_MEM_FENCE);
  *(acc1+0) = 0.0f;
  *(acc1+1) = 0.0f;
  *(acc1+2) = 0.0f;
  *(acc1+3) = 0.0f;
  for (int Ridx105 = 0; Ridx105 < 16; Ridx105++) {
    float4 val5 = (*((__local float4*)((temp0+(Ridx105<<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);
  }
  float4 val6 = read_imagef(data3_1x128, smp, (int2)(gidx0,0));
  if ((lidx0==0)) {
    write_imagef(data0_1x128, (int2)(gidx0,0), (float4)(((*(acc1+0))+val6.x),((*(acc1+1))+val6.y),((*(acc1+2))+val6.z),((*(acc1+3))+val6.w)));
  }
}

__kernel void r_3_128_4_3_128_4n1(write_only image2d_t data0_1x1152, read_only image2d_t data1_1x1224, read_only image2d_t data2_128x576, read_only image2d_t data3_1x128, read_only image2d_t data4_1x1152, read_only image2d_t data5_1x128, read_only image2d_t data6_1x128) {
    int alu12 = ((idx1*408)+Ridx0);
    float4 val0 = read_imagef(data1_1x1224, smp, (int2)((alu12+272),0));
    float4 val1 = read_imagef(data1_1x1224, smp, (int2)(alu12,0));
    int alu13 = (Ridx0<<2);
    float4 val2 = read_imagef(data2_128x576, smp, (int2)((alu13+1),idx0));
    float4 val3 = read_imagef(data2_128x576, smp, (int2)((alu13+2),idx0));
    float4 val4 = read_imagef(data2_128x576, smp, (int2)((alu13+3),idx0));
    float4 val5 = read_imagef(data2_128x576, smp, (int2)(alu13,idx0));
    float4 val6 = read_imagef(data1_1x1224, smp, (int2)((alu12+136),0));
  }
  int alu27 = (idx0+(idx1*384));
  float4 val8 = read_imagef(data4_1x1152, smp, (int2)(alu27,0));
  int alu28 = (alu27+128);
  float4 val9 = read_imagef(data4_1x1152, smp, (int2)(alu28,0));
  int alu29 = (alu27+256);
  float4 val10 = read_imagef(data4_1x1152, smp, (int2)(alu29,0));
  float4 val11 = read_imagef(data5_1x128, smp, (int2)(idx0,0));
  float4 val12 = read_imagef(data6_1x128, smp, (int2)(idx0,0));
  write_imagef(data0_1x1152, (int2)(alu27,0), (float4)(((*(acc0+0))+val7.x+val8.x+val11.x+val12.x),((*(acc0+3))+val7.y+val8.y+val11.y+val12.y),((*(acc0+6))+val7.z+val8.z+val11.z+val12.z),((*(acc0+9))+val7.w+val8.w+val11.w+val12.w)));
  write_imagef(data0_1x1152, (int2)(alu28,0), (float4)(((*(acc0+1))+val7.x+val9.x+val11.x+val12.x),((*(acc0+4))+val7.y+val9.y+val11.y+val12.y),((*(acc0+7))+val7.z+val9.z+val11.z+val12.z),((*(acc0+10))+val7.w+val9.w+val11.w+val12.w)));
  write_imagef(data0_1x1152, (int2)(alu29,0), (float4)(((*(acc0+2))+val7.x+val10.x+val11.x+val12.x),((*(acc0+5))+val7.y+val10.y+val11.y+val12.y),((*(acc0+8))+val7.z+val10.z+val11.z+val12.z),((*(acc0+11))+val7.w+val10.w+val11.w+val12.w)));
}

__kernel void r_9_16_8_4(__global float* data0_9, read_only image2d_t data1_1x1152) {
  float acc0[1];
  float acc1[1];
  __attribute__ ((aligned (16))) __local float temp0[16];
  int gidx0 = get_group_id(0); /* 9 */
    float4 val0 = read_imagef(data1_1x1152, smp, (int2)(((lidx0<<3)+Ridx0+(gidx0<<7)),0));
    *(acc0+0) = ((*(acc0+0))+val0.x+val0.y+val0.z+val0.w);
  }
  *(temp0+lidx0) = (*(acc0+0));
  for (int Ridx103 = 0; Ridx103 < 16; Ridx103++) {
    float val1 = (*(temp0+Ridx103));
    *(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_1x1152, __global float* data2_9) {
  float val0 = (*(data2_9+gidx0));
    float4 val1 = read_imagef(data1_1x1152, smp, (int2)(((lidx0<<3)+Ridx0+(gidx0<<7)),0));
    float alu1 = (val1.x-val0);
    float alu2 = (val1.y-val0);
    float alu3 = (val1.z-val0);
    float alu4 = (val1.w-val0);
    *(acc0+0) = ((*(acc0+0))+(alu1*alu1)+(alu2*alu2)+(alu3*alu3)+(alu4*alu4));
  }
    float val2 = (*(temp0+Ridx103));
    *(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_1x1224, read_only image2d_t data1_1x1152, __global float* data2_9, __global float* data3_9, read_only image2d_t data4_1x128, read_only image2d_t data5_1x128) {
  int alu0 = (idx1*3);
  int alu1 = (alu0+1);
  float val0 = (*(data2_9+alu1));
  int alu2 = (alu0+2);
  float val1 = (*(data2_9+alu2));
  float val2 = (*(data2_9+alu0));
  float val3 = (*(data3_9+alu1));
  float val4 = (*(data3_9+alu2));
  float val5 = (*(data3_9+alu0));
  float4 val6 = read_imagef(data4_1x128, smp, (int2)(idx0,0));
  float4 val7 = read_imagef(data5_1x128, smp, (int2)(idx0,0));
  int alu3 = (idx0+(idx1*384));
  float4 val8 = read_imagef(data1_1x1152, smp, (int2)(alu3,0));
  float4 val9 = read_imagef(data1_1x1152, smp, (int2)((alu3+128),0));
  float4 val10 = read_imagef(data1_1x1152, smp, (int2)((alu3+256),0));
  int alu4 = (idx0+(idx1*408));
  write_imagef(data0_1x1224, (int2)(alu4,0), (float4)((((val8.x-val2)*val5*val6.x)+val7.x),(((val8.y-val2)*val5*val6.y)+val7.y),(((val8.z-val2)*val5*val6.z)+val7.z),(((val8.w-val2)*val5*val6.w)+val7.w)));
  write_imagef(data0_1x1224, (int2)((alu4+136),0), (float4)((((val9.x-val0)*val3*val6.x)+val7.x),(((val9.y-val0)*val3*val6.y)+val7.y),(((val9.z-val0)*val3*val6.z)+val7.z),(((val9.w-val0)*val3*val6.w)+val7.w)));
  write_imagef(data0_1x1224, (int2)((alu4+272),0), (float4)((((val10.x-val1)*val4*val6.x)+val7.x),(((val10.y-val1)*val4*val6.y)+val7.y),(((val10.z-val1)*val4*val6.z)+val7.z),(((val10.w-val1)*val4*val6.w)+val7.w)));
}

__kernel void r_24_3_16_4_3_128_4(write_only image2d_t data0_1x3456, read_only image2d_t data1_1x1224, read_only image2d_t data2_24x9216, read_only image2d_t data3_1x384) {
  int idx0 = get_global_id(0); /* 16 */
  int idx2 = get_global_id(2); /* 24 */
    float4 val0 = read_imagef(data1_1x1224, smp, (int2)(alu12,0));
    int alu13 = ((idx0*576)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_24x9216, smp, (int2)((alu13+1),idx2));
    float4 val2 = read_imagef(data2_24x9216, smp, (int2)((alu13+2),idx2));
    float4 val3 = read_imagef(data2_24x9216, smp, (int2)((alu13+3),idx2));
    float4 val4 = read_imagef(data2_24x9216, smp, (int2)(alu13,idx2));
    float4 val5 = read_imagef(data1_1x1224, smp, (int2)((alu12+136),0));
    float4 val6 = read_imagef(data1_1x1224, smp, (int2)((alu12+272),0));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val4.x)+(val0.y*val1.x)+(val0.z*val2.x)+(val0.w*val3.x));
    *(acc0+1) = ((*(acc0+1))+(val5.x*val4.x)+(val5.y*val1.x)+(val5.z*val2.x)+(val5.w*val3.x));
    *(acc0+2) = ((*(acc0+2))+(val6.x*val4.x)+(val6.y*val1.x)+(val6.z*val2.x)+(val6.w*val3.x));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val4.y)+(val0.y*val1.y)+(val0.z*val2.y)+(val0.w*val3.y));
    *(acc0+4) = ((*(acc0+4))+(val5.x*val4.y)+(val5.y*val1.y)+(val5.z*val2.y)+(val5.w*val3.y));
    *(acc0+5) = ((*(acc0+5))+(val6.x*val4.y)+(val6.y*val1.y)+(val6.z*val2.y)+(val6.w*val3.y));
    *(acc0+6) = ((*(acc0+6))+(val0.x*val4.z)+(val0.y*val1.z)+(val0.z*val2.z)+(val0.w*val3.z));
    *(acc0+7) = ((*(acc0+7))+(val5.x*val4.z)+(val5.y*val1.z)+(val5.z*val2.z)+(val5.w*val3.z));
    *(acc0+8) = ((*(acc0+8))+(val6.x*val4.z)+(val6.y*val1.z)+(val6.z*val2.z)+(val6.w*val3.z));
    *(acc0+9) = ((*(acc0+9))+(val0.x*val4.w)+(val0.y*val1.w)+(val0.z*val2.w)+(val0.w*val3.w));
    *(acc0+10) = ((*(acc0+10))+(val5.x*val4.w)+(val5.y*val1.w)+(val5.z*val2.w)+(val5.w*val3.w));
    *(acc0+11) = ((*(acc0+11))+(val6.x*val4.w)+(val6.y*val1.w)+(val6.z*val2.w)+(val6.w*val3.w));
  }
  float4 val7 = read_imagef(data3_1x384, smp, (int2)((idx0+(idx2<<4)),0));
  int alu27 = (idx0+(idx2*144)+(idx1*48));
  write_imagef(data0_1x3456, (int2)(alu27,0), (float4)(((*(acc0+0))+val7.x),((*(acc0+3))+val7.y),((*(acc0+6))+val7.z),((*(acc0+9))+val7.w)));
  write_imagef(data0_1x3456, (int2)((alu27+16),0), (float4)(((*(acc0+1))+val7.x),((*(acc0+4))+val7.y),((*(acc0+7))+val7.z),((*(acc0+10))+val7.w)));
  write_imagef(data0_1x3456, (int2)((alu27+32),0), (float4)(((*(acc0+2))+val7.x),((*(acc0+5))+val7.y),((*(acc0+8))+val7.z),((*(acc0+11))+val7.w)));
}

__kernel void E_128_12_4(write_only image2d_t data0_1x3072, read_only image2d_t data1_3x1152) {
  int idx0 = get_global_id(0); /* 12 */
  int idx1 = get_global_id(1); /* 128 */
  float4 val0 = ((idx0<9)?read_imagef(data1_3x1152, smp, (int2)(((idx0<<4)+((idx1>>4)*144)+(idx1&15)),2)):(float4)(0.0f,0.0f,0.0f,0.0f));
  write_imagef(data0_1x3072, (int2)((idx0+(idx1*24)),0), val0);
}

__kernel void E_8_16_4_4_3(write_only image2d_t data0_1x1728, read_only image2d_t data1_3x1152) {
  int idx1 = get_global_id(1); /* 8 */
  int alu0 = (idx0+(idx1*144));
  float4 val0 = read_imagef(data1_3x1152, smp, (int2)(alu0,1));
  float4 val1 = read_imagef(data1_3x1152, smp, (int2)((alu0+16),1));
  float4 val2 = read_imagef(data1_3x1152, smp, (int2)((alu0+32),1));
  float4 val3 = read_imagef(data1_3x1152, smp, (int2)((alu0+48),1));
  float4 val4 = read_imagef(data1_3x1152, smp, (int2)((alu0+64),1));
  float4 val5 = read_imagef(data1_3x1152, smp, (int2)((alu0+80),1));
  float4 val6 = read_imagef(data1_3x1152, smp, (int2)((alu0+96),1));
  float4 val7 = read_imagef(data1_3x1152, smp, (int2)((alu0+112),1));
  float4 val8 = read_imagef(data1_3x1152, smp, (int2)((alu0+128),1));
  int alu1 = ((idx0<<2)+(idx1*216));
  write_imagef(data0_1x1728, (int2)((alu1+1),0), (float4)(val0.y,val1.y,val2.y,val3.y));
  write_imagef(data0_1x1728, (int2)((alu1+2),0), (float4)(val0.z,val1.z,val2.z,val3.z));
  write_imagef(data0_1x1728, (int2)((alu1+3),0), (float4)(val0.w,val1.w,val2.w,val3.w));
  write_imagef(data0_1x1728, (int2)((alu1+72),0), (float4)(val4.x,val5.x,val6.x,val7.x));
  write_imagef(data0_1x1728, (int2)((alu1+73),0), (float4)(val4.y,val5.y,val6.y,val7.y));
  write_imagef(data0_1x1728, (int2)((alu1+74),0), (float4)(val4.z,val5.z,val6.z,val7.z));
  write_imagef(data0_1x1728, (int2)((alu1+75),0), (float4)(val4.w,val5.w,val6.w,val7.w));
  write_imagef(data0_1x1728, (int2)((alu1+144),0), (float4)(val8.x,0.0f,0.0f,0.0f));
  write_imagef(data0_1x1728, (int2)((alu1+145),0), (float4)(val8.y,0.0f,0.0f,0.0f));
  write_imagef(data0_1x1728, (int2)((alu1+146),0), (float4)(val8.z,0.0f,0.0f,0.0f));
  write_imagef(data0_1x1728, (int2)((alu1+147),0), (float4)(val8.w,0.0f,0.0f,0.0f));
  write_imagef(data0_1x1728, (int2)(alu1,0), (float4)(val0.x,val1.x,val2.x,val3.x));
}

__kernel void E_9_8_16_4(write_only image2d_t data0_1x1224, read_only image2d_t data1_3x1152) {
  int idx2 = get_global_id(2); /* 9 */
  float4 val0 = read_imagef(data1_3x1152, smp, (int2)((idx0+(idx2<<4)+(idx1*144)),0));
  write_imagef(data0_1x1224, (int2)((idx0+(idx1*17)+(idx2*136)),0), val0);
}

__kernel void r_8_9_9_4_16(__global float* data0_648, __global bool* data1_81, read_only image2d_t data2_1x1224, __global half* data3_6912) {
  int idx0 = get_global_id(0); /* 9 */
  int alu0 = (idx0+(idx1*9));
  bool val0 = (*(data1_81+alu0));
  int idx2 = get_global_id(2); /* 8 */
  int alu1 = ((idx2*864)+((idx0>>2)*288)+(idx0&3));
  half val1 = (*(data3_6912+(alu1+4)));
  half val2 = (*(data3_6912+(alu1+8)));
  half val3 = (*(data3_6912+(alu1+12)));
  half val4 = (*(data3_6912+(alu1+16)));
  half val5 = (*(data3_6912+(alu1+20)));
  half val6 = (*(data3_6912+(alu1+24)));
  half val7 = (*(data3_6912+(alu1+28)));
  half val8 = (*(data3_6912+(alu1+32)));
  half val9 = (*(data3_6912+(alu1+36)));
  half val10 = (*(data3_6912+(alu1+40)));
  half val11 = (*(data3_6912+(alu1+44)));
  half val12 = (*(data3_6912+(alu1+48)));
  half val13 = (*(data3_6912+(alu1+52)));
  half val14 = (*(data3_6912+(alu1+56)));
  half val15 = (*(data3_6912+(alu1+60)));
  half val16 = (*(data3_6912+(alu1+64)));
  half val17 = (*(data3_6912+(alu1+68)));
  half val18 = (*(data3_6912+(alu1+72)));
  half val19 = (*(data3_6912+(alu1+76)));
  half val20 = (*(data3_6912+(alu1+80)));
  half val21 = (*(data3_6912+(alu1+84)));
  half val22 = (*(data3_6912+(alu1+88)));
  half val23 = (*(data3_6912+(alu1+92)));
  half val24 = (*(data3_6912+(alu1+96)));
  half val25 = (*(data3_6912+(alu1+100)));
  half val26 = (*(data3_6912+(alu1+104)));
  half val27 = (*(data3_6912+(alu1+108)));
  half val28 = (*(data3_6912+(alu1+112)));
  half val29 = (*(data3_6912+(alu1+116)));
  half val30 = (*(data3_6912+(alu1+120)));
  half val31 = (*(data3_6912+(alu1+124)));
  half val32 = (*(data3_6912+(alu1+128)));
  half val33 = (*(data3_6912+(alu1+132)));
  half val34 = (*(data3_6912+(alu1+136)));
  half val35 = (*(data3_6912+(alu1+140)));
  half val36 = (*(data3_6912+(alu1+144)));
  half val37 = (*(data3_6912+(alu1+148)));
  half val38 = (*(data3_6912+(alu1+152)));
  half val39 = (*(data3_6912+(alu1+156)));
  half val40 = (*(data3_6912+(alu1+160)));
  half val41 = (*(data3_6912+(alu1+164)));
  half val42 = (*(data3_6912+(alu1+168)));
  half val43 = (*(data3_6912+(alu1+172)));
  half val44 = (*(data3_6912+(alu1+176)));
  half val45 = (*(data3_6912+(alu1+180)));
  half val46 = (*(data3_6912+(alu1+184)));
  half val47 = (*(data3_6912+(alu1+188)));
  half val48 = (*(data3_6912+(alu1+192)));
  half val49 = (*(data3_6912+(alu1+196)));
  half val50 = (*(data3_6912+(alu1+200)));
  half val51 = (*(data3_6912+(alu1+204)));
  half val52 = (*(data3_6912+(alu1+208)));
  half val53 = (*(data3_6912+(alu1+212)));
  half val54 = (*(data3_6912+(alu1+216)));
  half val55 = (*(data3_6912+(alu1+220)));
  half val56 = (*(data3_6912+(alu1+224)));
  half val57 = (*(data3_6912+(alu1+228)));
  half val58 = (*(data3_6912+(alu1+232)));
  half val59 = (*(data3_6912+(alu1+236)));
  half val60 = (*(data3_6912+(alu1+240)));
  half val61 = (*(data3_6912+(alu1+244)));
  half val62 = (*(data3_6912+(alu1+248)));
  half val63 = (*(data3_6912+(alu1+252)));
  half val64 = (*(data3_6912+alu1));
  int alu2 = ((idx1*136)+(idx2*17));
  float4 val65 = read_imagef(data2_1x1224, smp, (int2)((alu2+1),0));
  float4 val66 = read_imagef(data2_1x1224, smp, (int2)((alu2+2),0));
  float4 val67 = read_imagef(data2_1x1224, smp, (int2)((alu2+3),0));
  float4 val68 = read_imagef(data2_1x1224, smp, (int2)((alu2+4),0));
  float4 val69 = read_imagef(data2_1x1224, smp, (int2)((alu2+5),0));
  float4 val70 = read_imagef(data2_1x1224, smp, (int2)((alu2+6),0));
  float4 val71 = read_imagef(data2_1x1224, smp, (int2)((alu2+7),0));
  float4 val72 = read_imagef(data2_1x1224, smp, (int2)((alu2+8),0));
  float4 val73 = read_imagef(data2_1x1224, smp, (int2)((alu2+9),0));
  float4 val74 = read_imagef(data2_1x1224, smp, (int2)((alu2+10),0));
  float4 val75 = read_imagef(data2_1x1224, smp, (int2)((alu2+11),0));
  float4 val76 = read_imagef(data2_1x1224, smp, (int2)((alu2+12),0));
  float4 val77 = read_imagef(data2_1x1224, smp, (int2)((alu2+13),0));
  float4 val78 = read_imagef(data2_1x1224, smp, (int2)((alu2+14),0));
  float4 val79 = read_imagef(data2_1x1224, smp, (int2)((alu2+15),0));
  float4 val80 = read_imagef(data2_1x1224, smp, (int2)(alu2,0));
  float alu3 = (val0?((float)(-INFINITY)):(((val80.x*((float)(val64)))+(val80.y*((float)(val1)))+(val80.z*((float)(val2)))+(val80.w*((float)(val3)))+(val65.x*((float)(val4)))+(val65.y*((float)(val5)))+(val65.z*((float)(val6)))+(val65.w*((float)(val7)))+(val66.x*((float)(val8)))+(val66.y*((float)(val9)))+(val66.z*((float)(val10)))+(val66.w*((float)(val11)))+(val67.x*((float)(val12)))+(val67.y*((float)(val13)))+(val67.z*((float)(val14)))+(val67.w*((float)(val15)))+(val68.x*((float)(val16)))+(val68.y*((float)(val17)))+(val68.z*((float)(val18)))+(val68.w*((float)(val19)))+(val69.x*((float)(val20)))+(val69.y*((float)(val21)))+(val69.z*((float)(val22)))+(val69.w*((float)(val23)))+(val70.x*((float)(val24)))+(val70.y*((float)(val25)))+(val70.z*((float)(val26)))+(val70.w*((float)(val27)))+(val71.x*((float)(val28)))+(val71.y*((float)(val29)))+(val71.z*((float)(val30)))+(val71.w*((float)(val31)))+(val72.x*((float)(val32)))+(val72.y*((float)(val33)))+(val72.z*((float)(val34)))+(val72.w*((float)(val35)))+(val73.x*((float)(val36)))+(val73.y*((float)(val37)))+(val73.z*((float)(val38)))+(val73.w*((float)(val39)))+(val74.x*((float)(val40)))+(val74.y*((float)(val41)))+(val74.z*((float)(val42)))+(val74.w*((float)(val43)))+(val75.x*((float)(val44)))+(val75.y*((float)(val45)))+(val75.z*((float)(val46)))+(val75.w*((float)(val47)))+(val76.x*((float)(val48)))+(val76.y*((float)(val49)))+(val76.z*((float)(val50)))+(val76.w*((float)(val51)))+(val77.x*((float)(val52)))+(val77.y*((float)(val53)))+(val77.z*((float)(val54)))+(val77.w*((float)(val55)))+(val78.x*((float)(val56)))+(val78.y*((float)(val57)))+(val78.z*((float)(val58)))+(val78.w*((float)(val59)))+(val79.x*((float)(val60)))+(val79.y*((float)(val61)))+(val79.z*((float)(val62)))+(val79.w*((float)(val63))))*0.125f));
  *(data0_648+(alu0+(idx2*81))) = alu3;
}

__kernel void r_72_9(__global float* data0_72, __global float* data1_648) {
  int idx0 = get_global_id(0); /* 72 */
  int alu0 = (idx0*9);
  float val0 = (*(data1_648+(alu0+1)));
  float val1 = (*(data1_648+(alu0+2)));
  float val2 = (*(data1_648+(alu0+3)));
  float val3 = (*(data1_648+(alu0+4)));
  float val4 = (*(data1_648+(alu0+5)));
  float val5 = (*(data1_648+(alu0+6)));
  float val6 = (*(data1_648+(alu0+7)));
  float val7 = (*(data1_648+(alu0+8)));
  float val8 = (*(data1_648+alu0));
  float alu1 = ((val8<val0)?val0:val8);
  float alu2 = ((alu1<val1)?val1:alu1);
  float alu3 = ((alu2<val2)?val2:alu2);
  float alu4 = ((alu3<val3)?val3:alu3);
  float alu5 = ((alu4<val4)?val4:alu4);
  float alu6 = ((alu5<val5)?val5:alu5);
  float alu7 = ((alu6<val6)?val6:alu6);
  float alu8 = ((alu7<val7)?val7:alu7);
  *(data0_72+idx0) = alu8;
}

__kernel void r_72_9n1(__global float* data0_72, __global float* data1_648, __global float* data2_72) {
  float val0 = (*(data1_648+(alu0+2)));
  float val1 = (*(data1_648+(alu0+3)));
  float val2 = (*(data1_648+alu0));
  float val3 = (*(data2_72+idx0));
  float val4 = (*(data1_648+(alu0+1)));
  float val5 = (*(data1_648+(alu0+4)));
  float val6 = (*(data1_648+(alu0+5)));
  float val7 = (*(data1_648+(alu0+6)));
  float val8 = (*(data1_648+(alu0+7)));
  float val9 = (*(data1_648+(alu0+8)));
  *(data0_72+idx0) = (1/(exp2(((val2-val3)*1.4426950408889634f))+exp2(((val4-val3)*1.4426950408889634f))+exp2(((val0-val3)*1.4426950408889634f))+exp2(((val1-val3)*1.4426950408889634f))+exp2(((val5-val3)*1.4426950408889634f))+exp2(((val6-val3)*1.4426950408889634f))+exp2(((val7-val3)*1.4426950408889634f))+exp2(((val8-val3)*1.4426950408889634f))+exp2(((val9-val3)*1.4426950408889634f))));
}

__kernel void E_9_8_4_3(write_only image2d_t data0_1x216, __global float* data1_648, __global float* data2_72, __global float* data3_72) {
  int idx0 = get_global_id(0); /* 8 */
  int alu0 = ((idx0*81)+(idx1*9));
  int alu1 = (idx1+(idx0*9));
  float val9 = (*(data2_72+alu1));
  float val10 = (*(data3_72+alu1));
  int alu2 = ((idx0*3)+(idx1*24));
  write_imagef(data0_1x216, (int2)((alu2+1),0), (float4)((exp2(((val3-val9)*1.4426950408889634f))*val10),(exp2(((val4-val9)*1.4426950408889634f))*val10),(exp2(((val5-val9)*1.4426950408889634f))*val10),(exp2(((val6-val9)*1.4426950408889634f))*val10)));
  write_imagef(data0_1x216, (int2)((alu2+2),0), (float4)((exp2(((val7-val9)*1.4426950408889634f))*val10),0.0f,0.0f,0.0f));
  write_imagef(data0_1x216, (int2)(alu2,0), (float4)((exp2(((val8-val9)*1.4426950408889634f))*val10),(exp2(((val0-val9)*1.4426950408889634f))*val10),(exp2(((val1-val9)*1.4426950408889634f))*val10),(exp2(((val2-val9)*1.4426950408889634f))*val10)));
}

__kernel void r_3_128_4_3_3_4(write_only image2d_t data0_1x1224, read_only image2d_t data1_1x216, read_only image2d_t data2_1x3072) {
  for (int Ridx0 = 0; Ridx0 < 3; Ridx0++) {
    int alu12 = (((idx0>>4)*3)+Ridx0+(idx1*72));
    float4 val0 = read_imagef(data1_1x216, smp, (int2)(alu12,0));
    int alu13 = ((idx0*24)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_1x3072, smp, (int2)((alu13+1),0));
    float4 val2 = read_imagef(data2_1x3072, smp, (int2)((alu13+2),0));
    float4 val3 = read_imagef(data2_1x3072, smp, (int2)((alu13+3),0));
    float4 val4 = read_imagef(data2_1x3072, smp, (int2)(alu13,0));
    float4 val5 = read_imagef(data1_1x216, smp, (int2)((alu12+24),0));
    float4 val6 = read_imagef(data1_1x216, smp, (int2)((alu12+48),0));
  }
  int alu27 = (idx0+(idx1*408));
  write_imagef(data0_1x1224, (int2)(alu27,0), (float4)((*(acc0+0)),(*(acc0+3)),(*(acc0+6)),(*(acc0+9))));
  write_imagef(data0_1x1224, (int2)((alu27+136),0), (float4)((*(acc0+1)),(*(acc0+4)),(*(acc0+7)),(*(acc0+10))));
  write_imagef(data0_1x1224, (int2)((alu27+272),0), (float4)((*(acc0+2)),(*(acc0+5)),(*(acc0+8)),(*(acc0+11))));
}

__kernel void r_3_128_4_3_128_4n2(write_only image2d_t data0_1x1152, read_only image2d_t data1_1x1152, read_only image2d_t data2_1x1224, read_only image2d_t data3_128x576, read_only image2d_t data4_1x128) {
    int alu12 = (Ridx0<<2);
    float4 val0 = read_imagef(data3_128x576, smp, (int2)((alu12+3),idx0));
    int alu13 = ((idx1*408)+Ridx0);
    float4 val1 = read_imagef(data2_1x1224, smp, (int2)((alu13+136),0));
    float4 val2 = read_imagef(data2_1x1224, smp, (int2)((alu13+272),0));
    float4 val3 = read_imagef(data2_1x1224, smp, (int2)(alu13,0));
    float4 val4 = read_imagef(data3_128x576, smp, (int2)((alu12+1),idx0));
    float4 val5 = read_imagef(data3_128x576, smp, (int2)((alu12+2),idx0));
    float4 val6 = read_imagef(data3_128x576, smp, (int2)(alu12,idx0));
    *(acc0+0) = ((*(acc0+0))+(val3.x*val6.x)+(val3.y*val4.x)+(val3.z*val5.x)+(val3.w*val0.x));
    *(acc0+1) = ((*(acc0+1))+(val1.x*val6.x)+(val1.y*val4.x)+(val1.z*val5.x)+(val1.w*val0.x));
    *(acc0+2) = ((*(acc0+2))+(val2.x*val6.x)+(val2.y*val4.x)+(val2.z*val5.x)+(val2.w*val0.x));
    *(acc0+3) = ((*(acc0+3))+(val3.x*val6.y)+(val3.y*val4.y)+(val3.z*val5.y)+(val3.w*val0.y));
    *(acc0+4) = ((*(acc0+4))+(val1.x*val6.y)+(val1.y*val4.y)+(val1.z*val5.y)+(val1.w*val0.y));
    *(acc0+5) = ((*(acc0+5))+(val2.x*val6.y)+(val2.y*val4.y)+(val2.z*val5.y)+(val2.w*val0.y));
    *(acc0+6) = ((*(acc0+6))+(val3.x*val6.z)+(val3.y*val4.z)+(val3.z*val5.z)+(val3.w*val0.z));
    *(acc0+7) = ((*(acc0+7))+(val1.x*val6.z)+(val1.y*val4.z)+(val1.z*val5.z)+(val1.w*val0.z));
    *(acc0+8) = ((*(acc0+8))+(val2.x*val6.z)+(val2.y*val4.z)+(val2.z*val5.z)+(val2.w*val0.z));
    *(acc0+9) = ((*(acc0+9))+(val3.x*val6.w)+(val3.y*val4.w)+(val3.z*val5.w)+(val3.w*val0.w));
    *(acc0+10) = ((*(acc0+10))+(val1.x*val6.w)+(val1.y*val4.w)+(val1.z*val5.w)+(val1.w*val0.w));
    *(acc0+11) = ((*(acc0+11))+(val2.x*val6.w)+(val2.y*val4.w)+(val2.z*val5.w)+(val2.w*val0.w));
  }
  float4 val7 = read_imagef(data4_1x128, smp, (int2)(idx0,0));
  float4 val8 = read_imagef(data1_1x1152, smp, (int2)(alu27,0));
  float4 val9 = read_imagef(data1_1x1152, smp, (int2)(alu28,0));
  float4 val10 = read_imagef(data1_1x1152, smp, (int2)(alu29,0));
  write_imagef(data0_1x1152, (int2)(alu27,0), (float4)((val8.x+(*(acc0+0))+val7.x),(val8.y+(*(acc0+3))+val7.y),(val8.z+(*(acc0+6))+val7.z),(val8.w+(*(acc0+9))+val7.w)));
  write_imagef(data0_1x1152, (int2)(alu28,0), (float4)((val9.x+(*(acc0+1))+val7.x),(val9.y+(*(acc0+4))+val7.y),(val9.z+(*(acc0+7))+val7.z),(val9.w+(*(acc0+10))+val7.w)));
  write_imagef(data0_1x1152, (int2)(alu29,0), (float4)((val10.x+(*(acc0+2))+val7.x),(val10.y+(*(acc0+5))+val7.y),(val10.z+(*(acc0+8))+val7.z),(val10.w+(*(acc0+11))+val7.w)));
}

__kernel void r_3_512_4_3_128_4(write_only image2d_t data0_1x4680, read_only image2d_t data1_1x1224, read_only image2d_t data2_512x576, read_only image2d_t data3_1x512) {
  int idx0 = get_global_id(0); /* 512 */
    float4 val2 = read_imagef(data2_512x576, smp, (int2)((alu13+1),idx0));
    float4 val3 = read_imagef(data2_512x576, smp, (int2)((alu13+2),idx0));
    float4 val4 = read_imagef(data2_512x576, smp, (int2)((alu13+3),idx0));
    float4 val5 = read_imagef(data2_512x576, smp, (int2)(alu13,idx0));
  }
  float4 val7 = read_imagef(data3_1x512, smp, (int2)(idx0,0));
  float alu27 = ((*(acc0+0))+val7.x);
  float alu28 = ((*(acc0+3))+val7.y);
  float alu29 = ((*(acc0+6))+val7.z);
  float alu30 = ((*(acc0+9))+val7.w);
  float alu31 = ((*(acc0+1))+val7.x);
  float alu32 = ((*(acc0+4))+val7.y);
  float alu33 = ((*(acc0+7))+val7.z);
  float alu34 = ((*(acc0+10))+val7.w);
  float alu35 = ((*(acc0+2))+val7.x);
  float alu36 = ((*(acc0+5))+val7.y);
  float alu37 = ((*(acc0+8))+val7.z);
  float alu38 = ((*(acc0+11))+val7.w);
  int alu39 = (idx0+(idx1*1560));
  write_imagef(data0_1x4680, (int2)(alu39,0), (float4)(((1/(1.0f+exp2(((alu27+(0.044715f*alu27*alu27*alu27))*-2.302208198144325f))))*alu27),((1/(1.0f+exp2(((alu28+(0.044715f*alu28*alu28*alu28))*-2.302208198144325f))))*alu28),((1/(1.0f+exp2(((alu29+(0.044715f*alu29*alu29*alu29))*-2.302208198144325f))))*alu29),((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30)));
  write_imagef(data0_1x4680, (int2)((alu39+520),0), (float4)(((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31),((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32),((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33),((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34)));
  write_imagef(data0_1x4680, (int2)((alu39+1040),0), (float4)(((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35),((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38)));
}

__kernel void r_128_16_4_32_4(write_only image2d_t data0_1x128, read_only image2d_t data1_9x128, read_only image2d_t data2_1x4680, read_only image2d_t data3_128x2112, read_only image2d_t data4_1x128) {
  for (int Ridx0 = 0; Ridx0 < 32; Ridx0++) {
    float4 val0 = read_imagef(data2_1x4680, smp, (int2)(((lidx0<<5)+Ridx0+4160),0));
    int alu4 = ((lidx0<<7)+(Ridx0<<2));
    float4 val1 = read_imagef(data3_128x2112, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data3_128x2112, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data3_128x2112, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data3_128x2112, smp, (int2)(alu4,gidx0));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val4.y)+(val0.y*val1.y)+(val0.z*val2.y)+(val0.w*val3.y));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val4.z)+(val0.y*val1.z)+(val0.z*val2.z)+(val0.w*val3.z));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val4.w)+(val0.y*val1.w)+(val0.z*val2.w)+(val0.w*val3.w));
  }
  }
  float4 val6 = read_imagef(data4_1x128, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data1_9x128, smp, (int2)(gidx0,8));
    write_imagef(data0_1x128, (int2)(gidx0,0), (float4)((val7.x+(*(acc1+0))+val6.x),(val7.y+(*(acc1+1))+val6.y),(val7.z+(*(acc1+2))+val6.z),(val7.w+(*(acc1+3))+val6.w)));
  }
}

__kernel void E_128_4(write_only image2d_t data0_1x136, read_only image2d_t data1_1x128) {
  float4 val0 = read_imagef(data1_1x128, smp, (int2)(idx0,0));
  write_imagef(data0_1x136, (int2)(idx0,0), val0);
}

__kernel void r_256_4_128_4(write_only image2d_t data0_1x264, read_only image2d_t data1_1x136, read_only image2d_t data2_256x576, read_only image2d_t data3_1x256) {
  int idx0 = get_global_id(0); /* 256 */
    float4 val0 = read_imagef(data1_1x136, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data2_256x576, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_256x576, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_256x576, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_256x576, smp, (int2)(alu4,idx0));
  }
  float4 val5 = read_imagef(data3_1x256, smp, (int2)(idx0,0));
  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_1x264, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_128_16_4_16_4(write_only image2d_t data0_1x136, read_only image2d_t data1_1x128, read_only image2d_t data2_1x264, read_only image2d_t data3_128x1088, read_only image2d_t data4_1x128) {
  for (int Ridx0 = 0; Ridx0 < 16; Ridx0++) {
    float4 val0 = read_imagef(data2_1x264, smp, (int2)(((lidx0<<4)+Ridx0),0));
    int alu4 = ((lidx0<<6)+(Ridx0<<2));
    float4 val1 = read_imagef(data3_128x1088, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data3_128x1088, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data3_128x1088, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data3_128x1088, smp, (int2)(alu4,gidx0));
  }
  for (int Ridx106 = 0; Ridx106 < 16; Ridx106++) {
    float4 val5 = (*((__local float4*)((temp0+(Ridx106<<2)))));
  }
  float4 val7 = read_imagef(data1_1x128, smp, (int2)(gidx0,0));
  float alu21 = (val7.x+(*(acc1+0))+val6.x);
  float alu22 = (val7.y+(*(acc1+1))+val6.y);
  float alu23 = (val7.z+(*(acc1+2))+val6.z);
  float alu24 = (val7.w+(*(acc1+3))+val6.w);
  float alu25 = ((0.0f<alu21)?alu21:0.0f);
  float alu26 = ((0.0f<alu22)?alu22:0.0f);
  float alu27 = ((0.0f<alu23)?alu23:0.0f);
  float alu28 = ((0.0f<alu24)?alu24:0.0f);
    write_imagef(data0_1x136, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_128_16_4_16_4n1(write_only image2d_t data0_1x136, read_only image2d_t data1_1x136, read_only image2d_t data2_1x264, read_only image2d_t data3_128x1088, read_only image2d_t data4_1x128) {
  }
  }
  float4 val6 = read_imagef(data1_1x136, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data4_1x128, smp, (int2)(gidx0,0));
  float alu21 = (val6.x+(*(acc1+0))+val7.x);
  float alu22 = (val6.y+(*(acc1+1))+val7.y);
  float alu23 = (val6.z+(*(acc1+2))+val7.z);
  float alu24 = (val6.w+(*(acc1+3))+val7.w);
  }
}

__kernel void r_64_16_4_8_4(write_only image2d_t data0_1x72, read_only image2d_t data1_1x136, read_only image2d_t data2_64x576, read_only image2d_t data3_1x64) {
  int gidx0 = get_group_id(0); /* 64 */
    float4 val1 = read_imagef(data2_64x576, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_64x576, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_64x576, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_64x576, smp, (int2)(alu4,gidx0));
  }
  }
  float4 val6 = read_imagef(data3_1x64, smp, (int2)(gidx0,0));
  float alu21 = ((*(acc1+0))+val6.x);
  float alu22 = ((*(acc1+1))+val6.y);
  float alu23 = ((*(acc1+2))+val6.z);
  float alu24 = ((*(acc1+3))+val6.w);
    write_imagef(data0_1x72, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_8_16_4_8_4(write_only image2d_t data0_1x16, read_only image2d_t data1_1x136, read_only image2d_t data2_1x4160, read_only image2d_t data3_1x8) {
  int gidx0 = get_group_id(0); /* 8 */
    int alu4 = ((lidx0<<5)+(Ridx0<<2)+(gidx0*520));
    float4 val1 = read_imagef(data2_1x4160, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1x4160, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1x4160, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1x4160, smp, (int2)(alu4,0));
  }
  }
  float4 val6 = read_imagef(data3_1x8, smp, (int2)(gidx0,0));
    write_imagef(data0_1x16, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_64_16_4_4_4(write_only image2d_t data0_1x72, read_only image2d_t data1_1x72, read_only image2d_t data2_64x320, read_only image2d_t data3_1x64) {
  int alu0 = (lidx0<<2);
  for (int Ridx0 = 0; Ridx0 < 4; Ridx0++) {
    float4 val0 = read_imagef(data1_1x72, smp, (int2)((alu0+Ridx0),0));
    int alu5 = ((lidx0<<4)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_64x320, smp, (int2)((alu5+1),gidx0));
    float4 val2 = read_imagef(data2_64x320, smp, (int2)((alu5+2),gidx0));
    float4 val3 = read_imagef(data2_64x320, smp, (int2)((alu5+3),gidx0));
    float4 val4 = read_imagef(data2_64x320, smp, (int2)(alu5,gidx0));
  }
  *((__local float4*)((temp0+alu0))) = (float4)((*(acc0+0)),(*(acc0+1)),(*(acc0+2)),(*(acc0+3)));
  }
  float alu22 = ((*(acc1+0))+val6.x);
  float alu23 = ((*(acc1+1))+val6.y);
  float alu24 = ((*(acc1+2))+val6.z);
  float alu25 = ((*(acc1+3))+val6.w);
  float alu29 = ((0.0f<alu25)?alu25:0.0f);
    write_imagef(data0_1x72, (int2)(gidx0,0), (float4)(alu26,alu27,alu28,alu29));
  }
}

__kernel void r_8_4_8_4(write_only image2d_t data0_1x16, read_only image2d_t data1_1x16, read_only image2d_t data2_1x320, read_only image2d_t data3_1x8) {
    float4 val0 = read_imagef(data1_1x16, smp, (int2)(Ridx0,0));
    int alu4 = ((idx0*40)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_1x320, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1x320, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1x320, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1x320, smp, (int2)(alu4,0));
  }
  float4 val5 = read_imagef(data3_1x8, smp, (int2)(idx0,0));
  write_imagef(data0_1x16, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_64_16_4_4_4n1(write_only image2d_t data0_1x72, read_only image2d_t data1_1x72, read_only image2d_t data2_1x72, read_only image2d_t data3_64x320, read_only image2d_t data4_1x64) {
    float4 val0 = read_imagef(data2_1x72, smp, (int2)((alu0+Ridx0),0));
    float4 val1 = read_imagef(data3_64x320, smp, (int2)((alu5+1),gidx0));
    float4 val2 = read_imagef(data3_64x320, smp, (int2)((alu5+2),gidx0));
    float4 val3 = read_imagef(data3_64x320, smp, (int2)((alu5+3),gidx0));
    float4 val4 = read_imagef(data3_64x320, smp, (int2)(alu5,gidx0));
  }
  }
  float4 val6 = read_imagef(data1_1x72, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data4_1x64, smp, (int2)(gidx0,0));
  float alu22 = (val6.x+(*(acc1+0))+val7.x);
  float alu23 = (val6.y+(*(acc1+1))+val7.y);
  float alu24 = (val6.z+(*(acc1+2))+val7.z);
  float alu25 = (val6.w+(*(acc1+3))+val7.w);
  }
}

__kernel void r_8_4_8_4n1(write_only image2d_t data0_1x16, read_only image2d_t data1_1x16, read_only image2d_t data2_1x16, read_only image2d_t data3_1x320, read_only image2d_t data4_1x8) {
    float4 val0 = read_imagef(data2_1x16, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data3_1x320, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data3_1x320, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data3_1x320, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data3_1x320, smp, (int2)(alu4,0));
  }
  float4 val5 = read_imagef(data1_1x16, smp, (int2)(idx0,0));
  float4 val6 = read_imagef(data4_1x8, smp, (int2)(idx0,0));
  float alu10 = (val5.x+(*(acc0+0))+val6.x);
  float alu11 = (val5.y+(*(acc0+1))+val6.y);
  float alu12 = (val5.z+(*(acc0+2))+val6.z);
  float alu13 = (val5.w+(*(acc0+3))+val6.w);
}

__kernel void r_1000_64_8_4_4(__global float* data0_1000, read_only image2d_t data1_1x72, read_only image2d_t data2_248x320, __global half* data3_990, __global half* data4_990, read_only image2d_t data5_1x16, read_only image2d_t data6_1x80, __global half* data7_8, __global half* data8_2) {
  int idx0 = get_global_id(0); /* 1000 */
  float4 cast0 = (float4)(0.0f,0.0f,0.0f,0.0f);
  bool alu0 = (idx0<990);
  for (int Ridx0 = 0; Ridx0 < 64; Ridx0++) {
    float4 val0 = read_imagef(data1_1x72, smp, (int2)(Ridx0,0));
    float4 val1 = (alu0?read_imagef(data2_248x320, smp, (int2)(((Ridx0<<2)+(idx0&3)),(idx0>>2))):cast0);
    *(acc1+0) = ((*(acc1+0))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
  }
  int alu4 = (idx0+2);
  bool alu5 = ((989<idx0)&(idx0<998));
  for (int Ridx2 = 0; Ridx2 < 8; Ridx2++) {
    float4 val2 = read_imagef(data5_1x16, smp, (int2)(Ridx2,0));
    float4 val3 = (alu5?read_imagef(data6_1x80, smp, (int2)(((Ridx2<<2)+(alu4&3)+((alu4>>2)*40)+-9920),0)):cast0);
    *(acc0+0) = ((*(acc0+0))+(val2.x*val3.x)+(val2.y*val3.y)+(val2.z*val3.z)+(val2.w*val3.w));
  }
  half val4 = (alu0?*(data3_990+idx0):((half)(0.0f)));
  half val5 = (alu0?*(data4_990+idx0):((half)(0.0f)));
  half val6 = (alu5?*(data7_8+(idx0+-990)):((half)(0.0f)));
  half val7 = ((997<idx0)?*(data8_2+(idx0+-998)):((half)(0.0f)));
  float alu9 = (alu0?(((*(acc1+0))+((float)(val4)))*((float)(val5))):0.0f);
  float alu10 = (alu5?((*(acc0+0))+((float)(val6))):0.0f);
  *(data0_1000+idx0) = (alu9+alu10+((float)(val7)));
}