#pragma OPENCL EXTENSION cl_khr_fp16 : enable
__kernel void E_8192_3_4_2_4(write_only image2d_t data0_1024x192, __global uchar* data1_393216, __global uchar* data2_393216, __global half* data3_24, __global half* data4_24) {
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;
  int idx0 = get_global_id(0); /* 3 */
  int idx1 = get_global_id(1); /* 8192 */
  int alu0 = ((idx0<<17)+(idx1<<2));
  int alu1 = (alu0+1);
  uchar val0 = (*(data1_393216+alu1));
  int alu2 = (alu0+2);
  uchar val1 = (*(data1_393216+alu2));
  int alu3 = (alu0+3);
  uchar val2 = (*(data1_393216+alu3));
  int alu4 = (alu0+32768);
  uchar val3 = (*(data1_393216+alu4));
  int alu5 = (alu0+32769);
  uchar val4 = (*(data1_393216+alu5));
  int alu6 = (alu0+32770);
  uchar val5 = (*(data1_393216+alu6));
  int alu7 = (alu0+32771);
  uchar val6 = (*(data1_393216+alu7));
  int alu8 = (alu0+65536);
  uchar val7 = (*(data1_393216+alu8));
  int alu9 = (alu0+65537);
  uchar val8 = (*(data1_393216+alu9));
  int alu10 = (alu0+65538);
  uchar val9 = (*(data1_393216+alu10));
  int alu11 = (alu0+65539);
  uchar val10 = (*(data1_393216+alu11));
  int alu12 = (alu0+98304);
  uchar val11 = (*(data1_393216+alu12));
  int alu13 = (alu0+98305);
  uchar val12 = (*(data1_393216+alu13));
  int alu14 = (alu0+98306);
  uchar val13 = (*(data1_393216+alu14));
  int alu15 = (alu0+98307);
  uchar val14 = (*(data1_393216+alu15));
  uchar val15 = (*(data1_393216+alu0));
  uchar val16 = (*(data2_393216+alu1));
  uchar val17 = (*(data2_393216+alu2));
  uchar val18 = (*(data2_393216+alu3));
  uchar val19 = (*(data2_393216+alu4));
  uchar val20 = (*(data2_393216+alu5));
  uchar val21 = (*(data2_393216+alu6));
  uchar val22 = (*(data2_393216+alu7));
  uchar val23 = (*(data2_393216+alu8));
  uchar val24 = (*(data2_393216+alu9));
  uchar val25 = (*(data2_393216+alu10));
  uchar val26 = (*(data2_393216+alu11));
  uchar val27 = (*(data2_393216+alu12));
  uchar val28 = (*(data2_393216+alu13));
  uchar val29 = (*(data2_393216+alu14));
  uchar val30 = (*(data2_393216+alu15));
  uchar val31 = (*(data2_393216+alu0));
  int alu16 = (idx0<<2);
  int alu17 = (alu16+12);
  half4 val32 = (*((__global half4*)((data3_24+alu17))));
  half4 val33 = (*((__global half4*)((data3_24+alu16))));
  half4 val34 = (*((__global half4*)((data4_24+alu17))));
  half4 val35 = (*((__global half4*)((data4_24+alu16))));
  half alu18 = (1/val35.x);
  half alu19 = (1/val35.y);
  half alu20 = (1/val35.z);
  half alu21 = (1/val35.w);
  half alu22 = (1/val34.x);
  half alu23 = (1/val34.y);
  half alu24 = (1/val34.z);
  half alu25 = (1/val34.w);
  int alu26 = (idx0+((idx1&7)*24));
  int alu27 = (idx1>>3);
  write_imagef(data0_1024x192, (int2)(alu26,alu27), (float4)(((float)(((((half)(val15))-val33.x)*alu18))),((float)(((((half)(val3))-val33.y)*alu19))),((float)(((((half)(val7))-val33.z)*alu20))),((float)(((((half)(val11))-val33.w)*alu21)))));
  write_imagef(data0_1024x192, (int2)((alu26+3),alu27), (float4)(((float)(((((half)(val31))-val32.x)*alu22))),((float)(((((half)(val19))-val32.y)*alu23))),((float)(((((half)(val23))-val32.z)*alu24))),((float)(((((half)(val27))-val32.w)*alu25)))));
  write_imagef(data0_1024x192, (int2)((alu26+6),alu27), (float4)(((float)(((((half)(val0))-val33.x)*alu18))),((float)(((((half)(val4))-val33.y)*alu19))),((float)(((((half)(val8))-val33.z)*alu20))),((float)(((((half)(val12))-val33.w)*alu21)))));
  write_imagef(data0_1024x192, (int2)((alu26+9),alu27), (float4)(((float)(((((half)(val16))-val32.x)*alu22))),((float)(((((half)(val20))-val32.y)*alu23))),((float)(((((half)(val24))-val32.z)*alu24))),((float)(((((half)(val28))-val32.w)*alu25)))));
  write_imagef(data0_1024x192, (int2)((alu26+12),alu27), (float4)(((float)(((((half)(val1))-val33.x)*alu18))),((float)(((((half)(val5))-val33.y)*alu19))),((float)(((((half)(val9))-val33.z)*alu20))),((float)(((((half)(val13))-val33.w)*alu21)))));
  write_imagef(data0_1024x192, (int2)((alu26+15),alu27), (float4)(((float)(((((half)(val17))-val32.x)*alu22))),((float)(((((half)(val21))-val32.y)*alu23))),((float)(((((half)(val25))-val32.z)*alu24))),((float)(((((half)(val29))-val32.w)*alu25)))));
  write_imagef(data0_1024x192, (int2)((alu26+18),alu27), (float4)(((float)(((((half)(val2))-val33.x)*alu18))),((float)(((((half)(val6))-val33.y)*alu19))),((float)(((((half)(val10))-val33.z)*alu20))),((float)(((((half)(val14))-val33.w)*alu21)))));
  write_imagef(data0_1024x192, (int2)((alu26+21),alu27), (float4)(((float)(((((half)(val18))-val32.x)*alu22))),((float)(((((half)(val22))-val32.y)*alu23))),((float)(((((half)(val26))-val32.z)*alu24))),((float)(((((half)(val30))-val32.w)*alu25)))));
}

__kernel void r_64_32_16_4_4_6_3_3_4(write_only image2d_t data0_64x2048, read_only image2d_t data1_128x1536, read_only image2d_t data2_1x3456, read_only image2d_t data3_1x16) {
  float acc0[16];
  int idx0 = get_global_id(0); /* 16 */
  int idx1 = get_global_id(1); /* 32 */
  int idx2 = get_global_id(2); /* 64 */
  *(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;
  *(acc0+12) = 0.0f;
  *(acc0+13) = 0.0f;
  *(acc0+14) = 0.0f;
  *(acc0+15) = 0.0f;
  for (int Ridx0 = 0; Ridx0 < 6; Ridx0++) {
    for (int Ridx2 = 0; Ridx2 < 3; Ridx2++) {
      int alu16 = ((idx2<<1)+Ridx2+-1);
      for (int Ridx3 = 0; Ridx3 < 3; Ridx3++) {
        int alu17 = ((idx1*48)+(Ridx3*6)+Ridx0);
        float4 val0 = read_imagef(data1_128x1536, smp, (int2)((alu17+-6),alu16));
        int alu18 = ((Ridx0*12)+(Ridx3<<2)+(Ridx2*72)+(idx0*216));
        float4 val1 = read_imagef(data2_1x3456, smp, (int2)((alu18+1),0));
        float4 val2 = read_imagef(data2_1x3456, smp, (int2)((alu18+2),0));
        float4 val3 = read_imagef(data2_1x3456, smp, (int2)((alu18+3),0));
        float4 val4 = read_imagef(data2_1x3456, smp, (int2)(alu18,0));
        float4 val5 = read_imagef(data1_128x1536, smp, (int2)((alu17+6),alu16));
        float4 val6 = read_imagef(data1_128x1536, smp, (int2)((alu17+18),alu16));
        float4 val7 = read_imagef(data1_128x1536, smp, (int2)((alu17+30),alu16));
        *(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))+(val7.x*val4.x)+(val7.y*val1.x)+(val7.z*val2.x)+(val7.w*val3.x));
        *(acc0+4) = ((*(acc0+4))+(val0.x*val4.y)+(val0.y*val1.y)+(val0.z*val2.y)+(val0.w*val3.y));
        *(acc0+5) = ((*(acc0+5))+(val5.x*val4.y)+(val5.y*val1.y)+(val5.z*val2.y)+(val5.w*val3.y));
        *(acc0+6) = ((*(acc0+6))+(val6.x*val4.y)+(val6.y*val1.y)+(val6.z*val2.y)+(val6.w*val3.y));
        *(acc0+7) = ((*(acc0+7))+(val7.x*val4.y)+(val7.y*val1.y)+(val7.z*val2.y)+(val7.w*val3.y));
        *(acc0+8) = ((*(acc0+8))+(val0.x*val4.z)+(val0.y*val1.z)+(val0.z*val2.z)+(val0.w*val3.z));
        *(acc0+9) = ((*(acc0+9))+(val5.x*val4.z)+(val5.y*val1.z)+(val5.z*val2.z)+(val5.w*val3.z));
        *(acc0+10) = ((*(acc0+10))+(val6.x*val4.z)+(val6.y*val1.z)+(val6.z*val2.z)+(val6.w*val3.z));
        *(acc0+11) = ((*(acc0+11))+(val7.x*val4.z)+(val7.y*val1.z)+(val7.z*val2.z)+(val7.w*val3.z));
        *(acc0+12) = ((*(acc0+12))+(val0.x*val4.w)+(val0.y*val1.w)+(val0.z*val2.w)+(val0.w*val3.w));
        *(acc0+13) = ((*(acc0+13))+(val5.x*val4.w)+(val5.y*val1.w)+(val5.z*val2.w)+(val5.w*val3.w));
        *(acc0+14) = ((*(acc0+14))+(val6.x*val4.w)+(val6.y*val1.w)+(val6.z*val2.w)+(val6.w*val3.w));
        *(acc0+15) = ((*(acc0+15))+(val7.x*val4.w)+(val7.y*val1.w)+(val7.z*val2.w)+(val7.w*val3.w));
      }
    }
  }
  float4 val8 = read_imagef(data3_1x16, smp, (int2)(idx0,0));
  float alu38 = ((*(acc0+0))+val8.x);
  float alu39 = ((*(acc0+4))+val8.y);
  float alu40 = ((*(acc0+8))+val8.z);
  float alu41 = ((*(acc0+12))+val8.w);
  float alu42 = ((*(acc0+1))+val8.x);
  float alu43 = ((*(acc0+5))+val8.y);
  float alu44 = ((*(acc0+9))+val8.z);
  float alu45 = ((*(acc0+13))+val8.w);
  float alu46 = ((*(acc0+2))+val8.x);
  float alu47 = ((*(acc0+6))+val8.y);
  float alu48 = ((*(acc0+10))+val8.z);
  float alu49 = ((*(acc0+14))+val8.w);
  float alu50 = ((*(acc0+3))+val8.x);
  float alu51 = ((*(acc0+7))+val8.y);
  float alu52 = ((*(acc0+11))+val8.z);
  float alu53 = ((*(acc0+15))+val8.w);
  int alu54 = (idx0+(idx1<<6));
  write_imagef(data0_64x2048, (int2)(alu54,idx2), (float4)(((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38),((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41)));
  write_imagef(data0_64x2048, (int2)((alu54+16),idx2), (float4)(((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45)));
  write_imagef(data0_64x2048, (int2)((alu54+32),idx2), (float4)(((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49)));
  write_imagef(data0_64x2048, (int2)((alu54+48),idx2), (float4)(((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51),((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52),((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53)));
}

__kernel void r_32_16_16_4_4_3_3(write_only image2d_t data0_32x1088, read_only image2d_t data1_64x2048, read_only image2d_t data2_1x384, read_only image2d_t data3_1x16) {
  int idx1 = get_global_id(1); /* 16 */
  int idx2 = get_global_id(2); /* 32 */
  int alu0 = (idx0+(idx1<<7));
  int alu1 = (alu0+-16);
  int alu2 = (idx2<<1);
  int alu3 = (alu2+-1);
  float4 val0 = read_imagef(data1_64x2048, smp, (int2)(alu1,alu3));
  int alu4 = (idx0*24);
  float4 val1 = read_imagef(data2_1x384, smp, (int2)((alu4+1),0));
  float4 val2 = read_imagef(data2_1x384, smp, (int2)(alu4,0));
  float4 val3 = read_imagef(data1_64x2048, smp, (int2)(alu0,alu3));
  int alu5 = (alu0+16);
  float4 val4 = read_imagef(data1_64x2048, smp, (int2)(alu5,alu3));
  float4 val5 = read_imagef(data2_1x384, smp, (int2)((alu4+2),0));
  int alu6 = (alu0+32);
  float4 val6 = read_imagef(data1_64x2048, smp, (int2)(alu6,alu3));
  int alu7 = (alu0+48);
  float4 val7 = read_imagef(data1_64x2048, smp, (int2)(alu7,alu3));
  int alu8 = (alu0+64);
  float4 val8 = read_imagef(data1_64x2048, smp, (int2)(alu8,alu3));
  int alu9 = (alu0+80);
  float4 val9 = read_imagef(data1_64x2048, smp, (int2)(alu9,alu3));
  int alu10 = (alu0+96);
  float4 val10 = read_imagef(data1_64x2048, smp, (int2)(alu10,alu3));
  int alu11 = (alu0+112);
  float4 val11 = read_imagef(data1_64x2048, smp, (int2)(alu11,alu3));
  int alu12 = (alu2+1);
  float4 val12 = read_imagef(data1_64x2048, smp, (int2)(alu0,alu12));
  float4 val13 = read_imagef(data1_64x2048, smp, (int2)(alu6,alu12));
  float4 val14 = read_imagef(data1_64x2048, smp, (int2)(alu7,alu12));
  float4 val15 = read_imagef(data1_64x2048, smp, (int2)(alu8,alu12));
  float4 val16 = read_imagef(data1_64x2048, smp, (int2)(alu9,alu12));
  float4 val17 = read_imagef(data1_64x2048, smp, (int2)(alu10,alu12));
  float4 val18 = read_imagef(data1_64x2048, smp, (int2)(alu11,alu12));
  float4 val19 = read_imagef(data1_64x2048, smp, (int2)(alu1,alu2));
  float4 val20 = read_imagef(data2_1x384, smp, (int2)((alu4+3),0));
  float4 val21 = read_imagef(data1_64x2048, smp, (int2)(alu0,alu2));
  float4 val22 = read_imagef(data2_1x384, smp, (int2)((alu4+4),0));
  float4 val23 = read_imagef(data1_64x2048, smp, (int2)(alu5,alu2));
  float4 val24 = read_imagef(data2_1x384, smp, (int2)((alu4+5),0));
  float4 val25 = read_imagef(data1_64x2048, smp, (int2)(alu1,alu12));
  float4 val26 = read_imagef(data2_1x384, smp, (int2)((alu4+6),0));
  float4 val27 = read_imagef(data2_1x384, smp, (int2)((alu4+7),0));
  float4 val28 = read_imagef(data1_64x2048, smp, (int2)(alu5,alu12));
  float4 val29 = read_imagef(data2_1x384, smp, (int2)((alu4+8),0));
  float4 val30 = read_imagef(data3_1x16, smp, (int2)(idx0,0));
  float4 val31 = read_imagef(data1_64x2048, smp, (int2)(alu6,alu2));
  float4 val32 = read_imagef(data1_64x2048, smp, (int2)(alu7,alu2));
  float4 val33 = read_imagef(data1_64x2048, smp, (int2)(alu8,alu2));
  float4 val34 = read_imagef(data1_64x2048, smp, (int2)(alu9,alu2));
  float4 val35 = read_imagef(data1_64x2048, smp, (int2)(alu10,alu2));
  float4 val36 = read_imagef(data1_64x2048, smp, (int2)(alu11,alu2));
  float alu13 = ((val0.x*val2.x)+(val3.x*val1.x)+(val4.x*val5.x)+(val19.x*val20.x)+(val21.x*val22.x)+(val23.x*val24.x)+(val25.x*val26.x)+(val12.x*val27.x)+(val28.x*val29.x)+val30.x);
  float alu14 = ((val0.y*val2.y)+(val3.y*val1.y)+(val4.y*val5.y)+(val19.y*val20.y)+(val21.y*val22.y)+(val23.y*val24.y)+(val25.y*val26.y)+(val12.y*val27.y)+(val28.y*val29.y)+val30.y);
  float alu15 = ((val0.z*val2.z)+(val3.z*val1.z)+(val4.z*val5.z)+(val19.z*val20.z)+(val21.z*val22.z)+(val23.z*val24.z)+(val25.z*val26.z)+(val12.z*val27.z)+(val28.z*val29.z)+val30.z);
  float alu16 = ((val0.w*val2.w)+(val3.w*val1.w)+(val4.w*val5.w)+(val19.w*val20.w)+(val21.w*val22.w)+(val23.w*val24.w)+(val25.w*val26.w)+(val12.w*val27.w)+(val28.w*val29.w)+val30.w);
  float alu17 = ((val4.x*val2.x)+(val6.x*val1.x)+(val7.x*val5.x)+(val23.x*val20.x)+(val31.x*val22.x)+(val32.x*val24.x)+(val28.x*val26.x)+(val13.x*val27.x)+(val14.x*val29.x)+val30.x);
  float alu18 = ((val4.y*val2.y)+(val6.y*val1.y)+(val7.y*val5.y)+(val23.y*val20.y)+(val31.y*val22.y)+(val32.y*val24.y)+(val28.y*val26.y)+(val13.y*val27.y)+(val14.y*val29.y)+val30.y);
  float alu19 = ((val4.z*val2.z)+(val6.z*val1.z)+(val7.z*val5.z)+(val23.z*val20.z)+(val31.z*val22.z)+(val32.z*val24.z)+(val28.z*val26.z)+(val13.z*val27.z)+(val14.z*val29.z)+val30.z);
  float alu20 = ((val4.w*val2.w)+(val6.w*val1.w)+(val7.w*val5.w)+(val23.w*val20.w)+(val31.w*val22.w)+(val32.w*val24.w)+(val28.w*val26.w)+(val13.w*val27.w)+(val14.w*val29.w)+val30.w);
  float alu21 = ((val7.x*val2.x)+(val8.x*val1.x)+(val9.x*val5.x)+(val32.x*val20.x)+(val33.x*val22.x)+(val34.x*val24.x)+(val14.x*val26.x)+(val15.x*val27.x)+(val16.x*val29.x)+val30.x);
  float alu22 = ((val7.y*val2.y)+(val8.y*val1.y)+(val9.y*val5.y)+(val32.y*val20.y)+(val33.y*val22.y)+(val34.y*val24.y)+(val14.y*val26.y)+(val15.y*val27.y)+(val16.y*val29.y)+val30.y);
  float alu23 = ((val7.z*val2.z)+(val8.z*val1.z)+(val9.z*val5.z)+(val32.z*val20.z)+(val33.z*val22.z)+(val34.z*val24.z)+(val14.z*val26.z)+(val15.z*val27.z)+(val16.z*val29.z)+val30.z);
  float alu24 = ((val7.w*val2.w)+(val8.w*val1.w)+(val9.w*val5.w)+(val32.w*val20.w)+(val33.w*val22.w)+(val34.w*val24.w)+(val14.w*val26.w)+(val15.w*val27.w)+(val16.w*val29.w)+val30.w);
  float alu25 = ((val9.x*val2.x)+(val10.x*val1.x)+(val11.x*val5.x)+(val34.x*val20.x)+(val35.x*val22.x)+(val36.x*val24.x)+(val16.x*val26.x)+(val17.x*val27.x)+(val18.x*val29.x)+val30.x);
  float alu26 = ((val9.y*val2.y)+(val10.y*val1.y)+(val11.y*val5.y)+(val34.y*val20.y)+(val35.y*val22.y)+(val36.y*val24.y)+(val16.y*val26.y)+(val17.y*val27.y)+(val18.y*val29.y)+val30.y);
  float alu27 = ((val9.z*val2.z)+(val10.z*val1.z)+(val11.z*val5.z)+(val34.z*val20.z)+(val35.z*val22.z)+(val36.z*val24.z)+(val16.z*val26.z)+(val17.z*val27.z)+(val18.z*val29.z)+val30.z);
  float alu28 = ((val9.w*val2.w)+(val10.w*val1.w)+(val11.w*val5.w)+(val34.w*val20.w)+(val35.w*val22.w)+(val36.w*val24.w)+(val16.w*val26.w)+(val17.w*val27.w)+(val18.w*val29.w)+val30.w);
  int alu29 = (idx0+(idx1*68));
  write_imagef(data0_32x1088, (int2)(alu29,idx2), (float4)(((1/(1.0f+exp2(((alu13+(0.044715f*alu13*alu13*alu13))*-2.302208198144325f))))*alu13),((1/(1.0f+exp2(((alu14+(0.044715f*alu14*alu14*alu14))*-2.302208198144325f))))*alu14),((1/(1.0f+exp2(((alu15+(0.044715f*alu15*alu15*alu15))*-2.302208198144325f))))*alu15),((1/(1.0f+exp2(((alu16+(0.044715f*alu16*alu16*alu16))*-2.302208198144325f))))*alu16)));
  write_imagef(data0_32x1088, (int2)((alu29+17),idx2), (float4)(((1/(1.0f+exp2(((alu17+(0.044715f*alu17*alu17*alu17))*-2.302208198144325f))))*alu17),((1/(1.0f+exp2(((alu18+(0.044715f*alu18*alu18*alu18))*-2.302208198144325f))))*alu18),((1/(1.0f+exp2(((alu19+(0.044715f*alu19*alu19*alu19))*-2.302208198144325f))))*alu19),((1/(1.0f+exp2(((alu20+(0.044715f*alu20*alu20*alu20))*-2.302208198144325f))))*alu20)));
  write_imagef(data0_32x1088, (int2)((alu29+34),idx2), (float4)(((1/(1.0f+exp2(((alu21+(0.044715f*alu21*alu21*alu21))*-2.302208198144325f))))*alu21),((1/(1.0f+exp2(((alu22+(0.044715f*alu22*alu22*alu22))*-2.302208198144325f))))*alu22),((1/(1.0f+exp2(((alu23+(0.044715f*alu23*alu23*alu23))*-2.302208198144325f))))*alu23),((1/(1.0f+exp2(((alu24+(0.044715f*alu24*alu24*alu24))*-2.302208198144325f))))*alu24)));
  write_imagef(data0_32x1088, (int2)((alu29+51),idx2), (float4)(((1/(1.0f+exp2(((alu25+(0.044715f*alu25*alu25*alu25))*-2.302208198144325f))))*alu25),((1/(1.0f+exp2(((alu26+(0.044715f*alu26*alu26*alu26))*-2.302208198144325f))))*alu26),((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)));
}

__kernel void r_512_16_4_4_16_4(write_only image2d_t data0_512x64, read_only image2d_t data1_32x1088, read_only image2d_t data2_1x1152, read_only image2d_t data3_1x16) {
  int idx1 = get_global_id(1); /* 512 */
  int alu0 = (idx1>>4);
  for (int Ridx0 = 0; Ridx0 < 16; Ridx0++) {
    int alu17 = (((idx1&15)*68)+Ridx0);
    float4 val0 = read_imagef(data1_32x1088, smp, (int2)((alu17+17),alu0));
    float4 val1 = read_imagef(data1_32x1088, smp, (int2)((alu17+34),alu0));
    float4 val2 = read_imagef(data1_32x1088, smp, (int2)((alu17+51),alu0));
    float4 val3 = read_imagef(data1_32x1088, smp, (int2)(alu17,alu0));
    int alu18 = ((idx0*72)+(Ridx0<<2));
    float4 val4 = read_imagef(data2_1x1152, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1x1152, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1x1152, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1x1152, smp, (int2)(alu18,0));
    *(acc0+0) = ((*(acc0+0))+(val3.x*val7.x)+(val3.y*val4.x)+(val3.z*val5.x)+(val3.w*val6.x));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val7.x)+(val0.y*val4.x)+(val0.z*val5.x)+(val0.w*val6.x));
    *(acc0+2) = ((*(acc0+2))+(val1.x*val7.x)+(val1.y*val4.x)+(val1.z*val5.x)+(val1.w*val6.x));
    *(acc0+3) = ((*(acc0+3))+(val2.x*val7.x)+(val2.y*val4.x)+(val2.z*val5.x)+(val2.w*val6.x));
    *(acc0+4) = ((*(acc0+4))+(val3.x*val7.y)+(val3.y*val4.y)+(val3.z*val5.y)+(val3.w*val6.y));
    *(acc0+5) = ((*(acc0+5))+(val0.x*val7.y)+(val0.y*val4.y)+(val0.z*val5.y)+(val0.w*val6.y));
    *(acc0+6) = ((*(acc0+6))+(val1.x*val7.y)+(val1.y*val4.y)+(val1.z*val5.y)+(val1.w*val6.y));
    *(acc0+7) = ((*(acc0+7))+(val2.x*val7.y)+(val2.y*val4.y)+(val2.z*val5.y)+(val2.w*val6.y));
    *(acc0+8) = ((*(acc0+8))+(val3.x*val7.z)+(val3.y*val4.z)+(val3.z*val5.z)+(val3.w*val6.z));
    *(acc0+9) = ((*(acc0+9))+(val0.x*val7.z)+(val0.y*val4.z)+(val0.z*val5.z)+(val0.w*val6.z));
    *(acc0+10) = ((*(acc0+10))+(val1.x*val7.z)+(val1.y*val4.z)+(val1.z*val5.z)+(val1.w*val6.z));
    *(acc0+11) = ((*(acc0+11))+(val2.x*val7.z)+(val2.y*val4.z)+(val2.z*val5.z)+(val2.w*val6.z));
    *(acc0+12) = ((*(acc0+12))+(val3.x*val7.w)+(val3.y*val4.w)+(val3.z*val5.w)+(val3.w*val6.w));
    *(acc0+13) = ((*(acc0+13))+(val0.x*val7.w)+(val0.y*val4.w)+(val0.z*val5.w)+(val0.w*val6.w));
    *(acc0+14) = ((*(acc0+14))+(val1.x*val7.w)+(val1.y*val4.w)+(val1.z*val5.w)+(val1.w*val6.w));
    *(acc0+15) = ((*(acc0+15))+(val2.x*val7.w)+(val2.y*val4.w)+(val2.z*val5.w)+(val2.w*val6.w));
  }
  float alu36 = ((*(acc0+0))+val8.x);
  float alu37 = ((*(acc0+4))+val8.y);
  float alu38 = ((*(acc0+8))+val8.z);
  float alu39 = ((*(acc0+12))+val8.w);
  float alu40 = ((*(acc0+1))+val8.x);
  float alu41 = ((*(acc0+5))+val8.y);
  float alu42 = ((*(acc0+9))+val8.z);
  float alu43 = ((*(acc0+13))+val8.w);
  float alu44 = ((*(acc0+2))+val8.x);
  float alu45 = ((*(acc0+6))+val8.y);
  float alu46 = ((*(acc0+10))+val8.z);
  float alu47 = ((*(acc0+14))+val8.w);
  float alu48 = ((*(acc0+3))+val8.x);
  float alu49 = ((*(acc0+7))+val8.y);
  float alu50 = ((*(acc0+11))+val8.z);
  float alu51 = ((*(acc0+15))+val8.w);
  write_imagef(data0_512x64, (int2)(idx0,idx1), (float4)(((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),((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39)));
  write_imagef(data0_512x64, (int2)((idx0+16),idx1), (float4)(((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43)));
  write_imagef(data0_512x64, (int2)((idx0+32),idx1), (float4)(((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47)));
  write_imagef(data0_512x64, (int2)((idx0+48),idx1), (float4)(((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51)));
}

__kernel void r_32_16_16_4_4_3_3n1(write_only image2d_t data0_32x1024, read_only image2d_t data1_32x1024, read_only image2d_t data2_1x384, read_only image2d_t data3_1x16) {
  int alu0 = (idx0+(idx1<<6));
  int alu1 = (alu0+16);
  float4 val0 = read_imagef(data1_32x1024, smp, (int2)(alu1,idx2));
  int alu2 = (idx2+-1);
  float4 val1 = read_imagef(data1_32x1024, smp, (int2)(alu0,alu2));
  int alu3 = (alu0+-16);
  float4 val2 = read_imagef(data1_32x1024, smp, (int2)(alu3,alu2));
  float4 val3 = read_imagef(data2_1x384, smp, (int2)((alu4+1),0));
  float4 val4 = read_imagef(data2_1x384, smp, (int2)((alu4+3),0));
  float4 val5 = read_imagef(data2_1x384, smp, (int2)((alu4+4),0));
  float4 val6 = read_imagef(data2_1x384, smp, (int2)((alu4+5),0));
  float4 val7 = read_imagef(data2_1x384, smp, (int2)(alu4,0));
  float4 val8 = read_imagef(data1_32x1024, smp, (int2)(alu1,alu2));
  float4 val9 = read_imagef(data2_1x384, smp, (int2)((alu4+2),0));
  float4 val10 = read_imagef(data1_32x1024, smp, (int2)(alu0,idx2));
  float4 val11 = read_imagef(data1_32x1024, smp, (int2)(alu3,idx2));
  int alu5 = (idx2+1);
  float4 val12 = read_imagef(data1_32x1024, smp, (int2)(alu3,alu5));
  float4 val13 = read_imagef(data2_1x384, smp, (int2)((alu4+6),0));
  float4 val14 = read_imagef(data1_32x1024, smp, (int2)(alu0,alu5));
  float4 val15 = read_imagef(data2_1x384, smp, (int2)((alu4+7),0));
  float4 val16 = read_imagef(data1_32x1024, smp, (int2)(alu1,alu5));
  float4 val17 = read_imagef(data2_1x384, smp, (int2)((alu4+8),0));
  float4 val18 = read_imagef(data3_1x16, smp, (int2)(idx0,0));
  float4 val19 = read_imagef(data1_32x1024, smp, (int2)(alu6,idx2));
  float4 val20 = read_imagef(data1_32x1024, smp, (int2)(alu7,idx2));
  float4 val21 = read_imagef(data1_32x1024, smp, (int2)(alu8,idx2));
  float4 val22 = read_imagef(data1_32x1024, smp, (int2)(alu6,alu2));
  float4 val23 = read_imagef(data1_32x1024, smp, (int2)(alu7,alu2));
  float4 val24 = read_imagef(data1_32x1024, smp, (int2)(alu8,alu2));
  float4 val25 = read_imagef(data1_32x1024, smp, (int2)(alu6,alu5));
  float4 val26 = read_imagef(data1_32x1024, smp, (int2)(alu7,alu5));
  float4 val27 = read_imagef(data1_32x1024, smp, (int2)(alu8,alu5));
  write_imagef(data0_32x1024, (int2)(alu0,idx2), (float4)(((val2.x*val7.x)+(val1.x*val3.x)+(val8.x*val9.x)+(val11.x*val4.x)+(val10.x*val5.x)+(val0.x*val6.x)+(val12.x*val13.x)+(val14.x*val15.x)+(val16.x*val17.x)+val18.x),((val2.y*val7.y)+(val1.y*val3.y)+(val8.y*val9.y)+(val11.y*val4.y)+(val10.y*val5.y)+(val0.y*val6.y)+(val12.y*val13.y)+(val14.y*val15.y)+(val16.y*val17.y)+val18.y),((val2.z*val7.z)+(val1.z*val3.z)+(val8.z*val9.z)+(val11.z*val4.z)+(val10.z*val5.z)+(val0.z*val6.z)+(val12.z*val13.z)+(val14.z*val15.z)+(val16.z*val17.z)+val18.z),((val2.w*val7.w)+(val1.w*val3.w)+(val8.w*val9.w)+(val11.w*val4.w)+(val10.w*val5.w)+(val0.w*val6.w)+(val12.w*val13.w)+(val14.w*val15.w)+(val16.w*val17.w)+val18.w)));
  write_imagef(data0_32x1024, (int2)(alu1,idx2), (float4)(((val1.x*val7.x)+(val8.x*val3.x)+(val22.x*val9.x)+(val10.x*val4.x)+(val0.x*val5.x)+(val19.x*val6.x)+(val14.x*val13.x)+(val16.x*val15.x)+(val25.x*val17.x)+val18.x),((val1.y*val7.y)+(val8.y*val3.y)+(val22.y*val9.y)+(val10.y*val4.y)+(val0.y*val5.y)+(val19.y*val6.y)+(val14.y*val13.y)+(val16.y*val15.y)+(val25.y*val17.y)+val18.y),((val1.z*val7.z)+(val8.z*val3.z)+(val22.z*val9.z)+(val10.z*val4.z)+(val0.z*val5.z)+(val19.z*val6.z)+(val14.z*val13.z)+(val16.z*val15.z)+(val25.z*val17.z)+val18.z),((val1.w*val7.w)+(val8.w*val3.w)+(val22.w*val9.w)+(val10.w*val4.w)+(val0.w*val5.w)+(val19.w*val6.w)+(val14.w*val13.w)+(val16.w*val15.w)+(val25.w*val17.w)+val18.w)));
  write_imagef(data0_32x1024, (int2)(alu6,idx2), (float4)(((val8.x*val7.x)+(val22.x*val3.x)+(val23.x*val9.x)+(val0.x*val4.x)+(val19.x*val5.x)+(val20.x*val6.x)+(val16.x*val13.x)+(val25.x*val15.x)+(val26.x*val17.x)+val18.x),((val8.y*val7.y)+(val22.y*val3.y)+(val23.y*val9.y)+(val0.y*val4.y)+(val19.y*val5.y)+(val20.y*val6.y)+(val16.y*val13.y)+(val25.y*val15.y)+(val26.y*val17.y)+val18.y),((val8.z*val7.z)+(val22.z*val3.z)+(val23.z*val9.z)+(val0.z*val4.z)+(val19.z*val5.z)+(val20.z*val6.z)+(val16.z*val13.z)+(val25.z*val15.z)+(val26.z*val17.z)+val18.z),((val8.w*val7.w)+(val22.w*val3.w)+(val23.w*val9.w)+(val0.w*val4.w)+(val19.w*val5.w)+(val20.w*val6.w)+(val16.w*val13.w)+(val25.w*val15.w)+(val26.w*val17.w)+val18.w)));
  write_imagef(data0_32x1024, (int2)(alu7,idx2), (float4)(((val22.x*val7.x)+(val23.x*val3.x)+(val24.x*val9.x)+(val19.x*val4.x)+(val20.x*val5.x)+(val21.x*val6.x)+(val25.x*val13.x)+(val26.x*val15.x)+(val27.x*val17.x)+val18.x),((val22.y*val7.y)+(val23.y*val3.y)+(val24.y*val9.y)+(val19.y*val4.y)+(val20.y*val5.y)+(val21.y*val6.y)+(val25.y*val13.y)+(val26.y*val15.y)+(val27.y*val17.y)+val18.y),((val22.z*val7.z)+(val23.z*val3.z)+(val24.z*val9.z)+(val19.z*val4.z)+(val20.z*val5.z)+(val21.z*val6.z)+(val25.z*val13.z)+(val26.z*val15.z)+(val27.z*val17.z)+val18.z),((val22.w*val7.w)+(val23.w*val3.w)+(val24.w*val9.w)+(val19.w*val4.w)+(val20.w*val5.w)+(val21.w*val6.w)+(val25.w*val13.w)+(val26.w*val15.w)+(val27.w*val17.w)+val18.w)));
}

__kernel void r_32_16_16_4_4_7_7(write_only image2d_t data0_32x1088, read_only image2d_t data1_32x1024, read_only image2d_t data2_1x896, read_only image2d_t data3_1x16) {
  for (int Ridx0 = 0; Ridx0 < 7; Ridx0++) {
    int alu17 = (idx2+Ridx0+-3);
    float4 val0 = read_imagef(data1_32x1024, smp, (int2)(alu0,alu17));
    float4 val1 = read_imagef(data1_32x1024, smp, (int2)((alu0+-48),alu17));
    int alu18 = ((idx0*56)+(Ridx0*7));
    float4 val2 = read_imagef(data2_1x896, smp, (int2)((alu18+1),0));
    float4 val3 = read_imagef(data2_1x896, smp, (int2)((alu18+3),0));
    float4 val4 = read_imagef(data2_1x896, smp, (int2)((alu18+6),0));
    float4 val5 = read_imagef(data2_1x896, smp, (int2)(alu18,0));
    float4 val6 = read_imagef(data1_32x1024, smp, (int2)((alu0+-32),alu17));
    float4 val7 = read_imagef(data1_32x1024, smp, (int2)((alu0+-16),alu17));
    float4 val8 = read_imagef(data2_1x896, smp, (int2)((alu18+2),0));
    float4 val9 = read_imagef(data1_32x1024, smp, (int2)((alu0+16),alu17));
    float4 val10 = read_imagef(data2_1x896, smp, (int2)((alu18+4),0));
    float4 val11 = read_imagef(data1_32x1024, smp, (int2)((alu0+32),alu17));
    float4 val12 = read_imagef(data2_1x896, smp, (int2)((alu18+5),0));
    float4 val13 = read_imagef(data1_32x1024, smp, (int2)((alu0+48),alu17));
    float4 val14 = read_imagef(data1_32x1024, smp, (int2)((alu0+64),alu17));
    float4 val15 = read_imagef(data1_32x1024, smp, (int2)((alu0+80),alu17));
    float4 val16 = read_imagef(data1_32x1024, smp, (int2)((alu0+96),alu17));
    *(acc0+0) = ((*(acc0+0))+(val1.x*val5.x)+(val6.x*val2.x)+(val7.x*val8.x)+(val0.x*val3.x)+(val9.x*val10.x)+(val11.x*val12.x)+(val13.x*val4.x));
    *(acc0+1) = ((*(acc0+1))+(val6.x*val5.x)+(val7.x*val2.x)+(val0.x*val8.x)+(val9.x*val3.x)+(val11.x*val10.x)+(val13.x*val12.x)+(val14.x*val4.x));
    *(acc0+2) = ((*(acc0+2))+(val7.x*val5.x)+(val0.x*val2.x)+(val9.x*val8.x)+(val11.x*val3.x)+(val13.x*val10.x)+(val14.x*val12.x)+(val15.x*val4.x));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val5.x)+(val9.x*val2.x)+(val11.x*val8.x)+(val13.x*val3.x)+(val14.x*val10.x)+(val15.x*val12.x)+(val16.x*val4.x));
    *(acc0+4) = ((*(acc0+4))+(val1.y*val5.y)+(val6.y*val2.y)+(val7.y*val8.y)+(val0.y*val3.y)+(val9.y*val10.y)+(val11.y*val12.y)+(val13.y*val4.y));
    *(acc0+5) = ((*(acc0+5))+(val6.y*val5.y)+(val7.y*val2.y)+(val0.y*val8.y)+(val9.y*val3.y)+(val11.y*val10.y)+(val13.y*val12.y)+(val14.y*val4.y));
    *(acc0+6) = ((*(acc0+6))+(val7.y*val5.y)+(val0.y*val2.y)+(val9.y*val8.y)+(val11.y*val3.y)+(val13.y*val10.y)+(val14.y*val12.y)+(val15.y*val4.y));
    *(acc0+7) = ((*(acc0+7))+(val0.y*val5.y)+(val9.y*val2.y)+(val11.y*val8.y)+(val13.y*val3.y)+(val14.y*val10.y)+(val15.y*val12.y)+(val16.y*val4.y));
    *(acc0+8) = ((*(acc0+8))+(val1.z*val5.z)+(val6.z*val2.z)+(val7.z*val8.z)+(val0.z*val3.z)+(val9.z*val10.z)+(val11.z*val12.z)+(val13.z*val4.z));
    *(acc0+9) = ((*(acc0+9))+(val6.z*val5.z)+(val7.z*val2.z)+(val0.z*val8.z)+(val9.z*val3.z)+(val11.z*val10.z)+(val13.z*val12.z)+(val14.z*val4.z));
    *(acc0+10) = ((*(acc0+10))+(val7.z*val5.z)+(val0.z*val2.z)+(val9.z*val8.z)+(val11.z*val3.z)+(val13.z*val10.z)+(val14.z*val12.z)+(val15.z*val4.z));
    *(acc0+11) = ((*(acc0+11))+(val0.z*val5.z)+(val9.z*val2.z)+(val11.z*val8.z)+(val13.z*val3.z)+(val14.z*val10.z)+(val15.z*val12.z)+(val16.z*val4.z));
    *(acc0+12) = ((*(acc0+12))+(val1.w*val5.w)+(val6.w*val2.w)+(val7.w*val8.w)+(val0.w*val3.w)+(val9.w*val10.w)+(val11.w*val12.w)+(val13.w*val4.w));
    *(acc0+13) = ((*(acc0+13))+(val6.w*val5.w)+(val7.w*val2.w)+(val0.w*val8.w)+(val9.w*val3.w)+(val11.w*val10.w)+(val13.w*val12.w)+(val14.w*val4.w));
    *(acc0+14) = ((*(acc0+14))+(val7.w*val5.w)+(val0.w*val2.w)+(val9.w*val8.w)+(val11.w*val3.w)+(val13.w*val10.w)+(val14.w*val12.w)+(val15.w*val4.w));
    *(acc0+15) = ((*(acc0+15))+(val0.w*val5.w)+(val9.w*val2.w)+(val11.w*val8.w)+(val13.w*val3.w)+(val14.w*val10.w)+(val15.w*val12.w)+(val16.w*val4.w));
  }
  float4 val17 = read_imagef(data3_1x16, smp, (int2)(idx0,0));
  int alu36 = (idx0+(idx1*68));
  write_imagef(data0_32x1088, (int2)(alu36,idx2), (float4)(((*(acc0+0))+val17.x),((*(acc0+4))+val17.y),((*(acc0+8))+val17.z),((*(acc0+12))+val17.w)));
  write_imagef(data0_32x1088, (int2)((alu36+17),idx2), (float4)(((*(acc0+1))+val17.x),((*(acc0+5))+val17.y),((*(acc0+9))+val17.z),((*(acc0+13))+val17.w)));
  write_imagef(data0_32x1088, (int2)((alu36+34),idx2), (float4)(((*(acc0+2))+val17.x),((*(acc0+6))+val17.y),((*(acc0+10))+val17.z),((*(acc0+14))+val17.w)));
  write_imagef(data0_32x1088, (int2)((alu36+51),idx2), (float4)(((*(acc0+3))+val17.x),((*(acc0+7))+val17.y),((*(acc0+11))+val17.z),((*(acc0+15))+val17.w)));
}

__kernel void r_512_48_4_4_16_4(write_only image2d_t data0_512x192, read_only image2d_t data1_32x1088, read_only image2d_t data2_1x3456, read_only image2d_t data3_1x48) {
  int idx0 = get_global_id(0); /* 48 */
    float4 val4 = read_imagef(data2_1x3456, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1x3456, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1x3456, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1x3456, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1x48, smp, (int2)(idx0,0));
  write_imagef(data0_512x192, (int2)(idx0,idx1), (float4)(((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),((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39)));
  write_imagef(data0_512x192, (int2)((idx0+48),idx1), (float4)(((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43)));
  write_imagef(data0_512x192, (int2)((idx0+96),idx1), (float4)(((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47)));
  write_imagef(data0_512x192, (int2)((idx0+144),idx1), (float4)(((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51)));
}

__kernel void r_512_16_4_4_48_4(write_only image2d_t data0_512x64, read_only image2d_t data1_512x64, read_only image2d_t data2_512x192, read_only image2d_t data3_1x3072, read_only image2d_t data4_1x16, read_only image2d_t data5_1x16) {
  for (int Ridx0 = 0; Ridx0 < 48; Ridx0++) {
    float4 val0 = read_imagef(data2_512x192, smp, (int2)((Ridx0+48),idx1));
    float4 val1 = read_imagef(data2_512x192, smp, (int2)((Ridx0+96),idx1));
    float4 val2 = read_imagef(data2_512x192, smp, (int2)((Ridx0+144),idx1));
    float4 val3 = read_imagef(data2_512x192, smp, (int2)(Ridx0,idx1));
    int alu16 = ((idx0*192)+(Ridx0<<2));
    float4 val4 = read_imagef(data3_1x3072, smp, (int2)((alu16+1),0));
    float4 val5 = read_imagef(data3_1x3072, smp, (int2)((alu16+2),0));
    float4 val6 = read_imagef(data3_1x3072, smp, (int2)((alu16+3),0));
    float4 val7 = read_imagef(data3_1x3072, smp, (int2)(alu16,0));
  }
  float4 val8 = read_imagef(data1_512x64, smp, (int2)(idx0,idx1));
  float4 val9 = read_imagef(data4_1x16, smp, (int2)(idx0,0));
  float4 val10 = read_imagef(data5_1x16, smp, (int2)(idx0,0));
  int alu34 = (idx0+16);
  float4 val11 = read_imagef(data1_512x64, smp, (int2)(alu34,idx1));
  int alu35 = (idx0+32);
  float4 val12 = read_imagef(data1_512x64, smp, (int2)(alu35,idx1));
  int alu36 = (idx0+48);
  float4 val13 = read_imagef(data1_512x64, smp, (int2)(alu36,idx1));
  write_imagef(data0_512x64, (int2)(idx0,idx1), (float4)((val8.x+(((*(acc0+0))+val9.x)*val10.x)),(val8.y+(((*(acc0+4))+val9.y)*val10.y)),(val8.z+(((*(acc0+8))+val9.z)*val10.z)),(val8.w+(((*(acc0+12))+val9.w)*val10.w))));
  write_imagef(data0_512x64, (int2)(alu34,idx1), (float4)((val11.x+(((*(acc0+1))+val9.x)*val10.x)),(val11.y+(((*(acc0+5))+val9.y)*val10.y)),(val11.z+(((*(acc0+9))+val9.z)*val10.z)),(val11.w+(((*(acc0+13))+val9.w)*val10.w))));
  write_imagef(data0_512x64, (int2)(alu35,idx1), (float4)((val12.x+(((*(acc0+2))+val9.x)*val10.x)),(val12.y+(((*(acc0+6))+val9.y)*val10.y)),(val12.z+(((*(acc0+10))+val9.z)*val10.z)),(val12.w+(((*(acc0+14))+val9.w)*val10.w))));
  write_imagef(data0_512x64, (int2)(alu36,idx1), (float4)((val13.x+(((*(acc0+3))+val9.x)*val10.x)),(val13.y+(((*(acc0+7))+val9.y)*val10.y)),(val13.z+(((*(acc0+11))+val9.z)*val10.z)),(val13.w+(((*(acc0+15))+val9.w)*val10.w))));
}

__kernel void r_16_8_16_2_4_4_7_7(__global half* data0_69632, read_only image2d_t data1_32x1024, __global half* data2_14336, __global half* data3_128) {
  int idx0 = get_global_id(0); /* 32 */
  int idx1 = get_global_id(1); /* 8 */
  int idx2 = get_global_id(2); /* 16 */
  int alu0 = (idx0>>1);
  int alu1 = ((idx1<<7)+alu0);
  int alu2 = (idx0&1);
    int alu19 = ((Ridx0*28)+alu2+(alu0*896));
    half val0 = (*(data2_14336+(alu19+4)));
    half val1 = (*(data2_14336+(alu19+8)));
    half val2 = (*(data2_14336+(alu19+12)));
    half val3 = (*(data2_14336+(alu19+16)));
    half val4 = (*(data2_14336+(alu19+20)));
    half val5 = (*(data2_14336+(alu19+24)));
    half val6 = (*(data2_14336+(alu19+224)));
    half val7 = (*(data2_14336+(alu19+228)));
    half val8 = (*(data2_14336+(alu19+232)));
    half val9 = (*(data2_14336+(alu19+236)));
    half val10 = (*(data2_14336+(alu19+240)));
    half val11 = (*(data2_14336+(alu19+244)));
    half val12 = (*(data2_14336+(alu19+248)));
    half val13 = (*(data2_14336+(alu19+448)));
    half val14 = (*(data2_14336+(alu19+452)));
    half val15 = (*(data2_14336+(alu19+456)));
    half val16 = (*(data2_14336+(alu19+460)));
    half val17 = (*(data2_14336+(alu19+464)));
    half val18 = (*(data2_14336+(alu19+468)));
    half val19 = (*(data2_14336+(alu19+472)));
    half val20 = (*(data2_14336+(alu19+672)));
    half val21 = (*(data2_14336+(alu19+676)));
    half val22 = (*(data2_14336+(alu19+680)));
    half val23 = (*(data2_14336+(alu19+684)));
    half val24 = (*(data2_14336+(alu19+688)));
    half val25 = (*(data2_14336+(alu19+692)));
    half val26 = (*(data2_14336+(alu19+696)));
    half val27 = (*(data2_14336+alu19));
    int alu20 = ((idx2<<1)+Ridx0+-3);
    float4 val28 = read_imagef(data1_32x1024, smp, (int2)((alu1+-48),alu20));
    float4 val29 = read_imagef(data1_32x1024, smp, (int2)((alu1+-32),alu20));
    float4 val30 = read_imagef(data1_32x1024, smp, (int2)((alu1+-16),alu20));
    float4 val31 = read_imagef(data1_32x1024, smp, (int2)((alu1+16),alu20));
    float4 val32 = read_imagef(data1_32x1024, smp, (int2)((alu1+32),alu20));
    float4 val33 = read_imagef(data1_32x1024, smp, (int2)((alu1+48),alu20));
    float4 val34 = read_imagef(data1_32x1024, smp, (int2)((alu1+64),alu20));
    float4 val35 = read_imagef(data1_32x1024, smp, (int2)((alu1+80),alu20));
    float4 val36 = read_imagef(data1_32x1024, smp, (int2)((alu1+96),alu20));
    float4 val37 = read_imagef(data1_32x1024, smp, (int2)((alu1+112),alu20));
    float4 val38 = read_imagef(data1_32x1024, smp, (int2)((alu1+128),alu20));
    float4 val39 = read_imagef(data1_32x1024, smp, (int2)((alu1+144),alu20));
    float4 val40 = read_imagef(data1_32x1024, smp, (int2)(alu1,alu20));
    float cast0 = ((float)(val0));
    float cast1 = ((float)(val1));
    float cast2 = ((float)(val2));
    float cast3 = ((float)(val3));
    float cast4 = ((float)(val4));
    float cast5 = ((float)(val5));
    float cast6 = ((float)(val6));
    float cast7 = ((float)(val7));
    float cast8 = ((float)(val8));
    float cast9 = ((float)(val9));
    float cast10 = ((float)(val10));
    float cast11 = ((float)(val11));
    float cast12 = ((float)(val12));
    float cast13 = ((float)(val13));
    float cast14 = ((float)(val14));
    float cast15 = ((float)(val15));
    float cast16 = ((float)(val16));
    float cast17 = ((float)(val17));
    float cast18 = ((float)(val18));
    float cast19 = ((float)(val19));
    float cast20 = ((float)(val20));
    float cast21 = ((float)(val21));
    float cast22 = ((float)(val22));
    float cast23 = ((float)(val23));
    float cast24 = ((float)(val24));
    float cast25 = ((float)(val25));
    float cast26 = ((float)(val26));
    float cast27 = ((float)(val27));
    *(acc0+0) = ((*(acc0+0))+(val28.x*cast27)+(val29.x*cast0)+(val30.x*cast1)+(val40.x*cast2)+(val31.x*cast3)+(val32.x*cast4)+(val33.x*cast5));
    *(acc0+1) = ((*(acc0+1))+(val30.x*cast27)+(val40.x*cast0)+(val31.x*cast1)+(val32.x*cast2)+(val33.x*cast3)+(val34.x*cast4)+(val35.x*cast5));
    *(acc0+2) = ((*(acc0+2))+(val31.x*cast27)+(val32.x*cast0)+(val33.x*cast1)+(val34.x*cast2)+(val35.x*cast3)+(val36.x*cast4)+(val37.x*cast5));
    *(acc0+3) = ((*(acc0+3))+(val33.x*cast27)+(val34.x*cast0)+(val35.x*cast1)+(val36.x*cast2)+(val37.x*cast3)+(val38.x*cast4)+(val39.x*cast5));
    *(acc0+4) = ((*(acc0+4))+(val28.y*cast6)+(val29.y*cast7)+(val30.y*cast8)+(val40.y*cast9)+(val31.y*cast10)+(val32.y*cast11)+(val33.y*cast12));
    *(acc0+5) = ((*(acc0+5))+(val30.y*cast6)+(val40.y*cast7)+(val31.y*cast8)+(val32.y*cast9)+(val33.y*cast10)+(val34.y*cast11)+(val35.y*cast12));
    *(acc0+6) = ((*(acc0+6))+(val31.y*cast6)+(val32.y*cast7)+(val33.y*cast8)+(val34.y*cast9)+(val35.y*cast10)+(val36.y*cast11)+(val37.y*cast12));
    *(acc0+7) = ((*(acc0+7))+(val33.y*cast6)+(val34.y*cast7)+(val35.y*cast8)+(val36.y*cast9)+(val37.y*cast10)+(val38.y*cast11)+(val39.y*cast12));
    *(acc0+8) = ((*(acc0+8))+(val28.z*cast13)+(val29.z*cast14)+(val30.z*cast15)+(val40.z*cast16)+(val31.z*cast17)+(val32.z*cast18)+(val33.z*cast19));
    *(acc0+9) = ((*(acc0+9))+(val30.z*cast13)+(val40.z*cast14)+(val31.z*cast15)+(val32.z*cast16)+(val33.z*cast17)+(val34.z*cast18)+(val35.z*cast19));
    *(acc0+10) = ((*(acc0+10))+(val31.z*cast13)+(val32.z*cast14)+(val33.z*cast15)+(val34.z*cast16)+(val35.z*cast17)+(val36.z*cast18)+(val37.z*cast19));
    *(acc0+11) = ((*(acc0+11))+(val33.z*cast13)+(val34.z*cast14)+(val35.z*cast15)+(val36.z*cast16)+(val37.z*cast17)+(val38.z*cast18)+(val39.z*cast19));
    *(acc0+12) = ((*(acc0+12))+(val28.w*cast20)+(val29.w*cast21)+(val30.w*cast22)+(val40.w*cast23)+(val31.w*cast24)+(val32.w*cast25)+(val33.w*cast26));
    *(acc0+13) = ((*(acc0+13))+(val30.w*cast20)+(val40.w*cast21)+(val31.w*cast22)+(val32.w*cast23)+(val33.w*cast24)+(val34.w*cast25)+(val35.w*cast26));
    *(acc0+14) = ((*(acc0+14))+(val31.w*cast20)+(val32.w*cast21)+(val33.w*cast22)+(val34.w*cast23)+(val35.w*cast24)+(val36.w*cast25)+(val37.w*cast26));
    *(acc0+15) = ((*(acc0+15))+(val33.w*cast20)+(val34.w*cast21)+(val35.w*cast22)+(val36.w*cast23)+(val37.w*cast24)+(val38.w*cast25)+(val39.w*cast26));
  }
  int alu38 = ((alu0<<3)+alu2);
  half val41 = (*(data3_128+(alu38+2)));
  half val42 = (*(data3_128+(alu38+4)));
  half val43 = (*(data3_128+(alu38+6)));
  half val44 = (*(data3_128+alu38));
  int alu39 = (alu38+(idx1*544)+(idx2*4352));
  float cast28 = ((float)(val44));
  float cast29 = ((float)(val41));
  float cast30 = ((float)(val42));
  float cast31 = ((float)(val43));
  *(data0_69632+(alu39+2)) = ((half)(((*(acc0+4))+cast29)));
  *(data0_69632+(alu39+4)) = ((half)(((*(acc0+8))+cast30)));
  *(data0_69632+(alu39+6)) = ((half)(((*(acc0+12))+cast31)));
  *(data0_69632+(alu39+136)) = ((half)(((*(acc0+1))+cast28)));
  *(data0_69632+(alu39+138)) = ((half)(((*(acc0+5))+cast29)));
  *(data0_69632+(alu39+140)) = ((half)(((*(acc0+9))+cast30)));
  *(data0_69632+(alu39+142)) = ((half)(((*(acc0+13))+cast31)));
  *(data0_69632+(alu39+272)) = ((half)(((*(acc0+2))+cast28)));
  *(data0_69632+(alu39+274)) = ((half)(((*(acc0+6))+cast29)));
  *(data0_69632+(alu39+276)) = ((half)(((*(acc0+10))+cast30)));
  *(data0_69632+(alu39+278)) = ((half)(((*(acc0+14))+cast31)));
  *(data0_69632+(alu39+408)) = ((half)(((*(acc0+3))+cast28)));
  *(data0_69632+(alu39+410)) = ((half)(((*(acc0+7))+cast29)));
  *(data0_69632+(alu39+412)) = ((half)(((*(acc0+11))+cast30)));
  *(data0_69632+(alu39+414)) = ((half)(((*(acc0+15))+cast31)));
  *(data0_69632+alu39) = ((half)(((*(acc0+0))+cast28)));
}

__kernel void r_128_32_4_4_32_4(write_only image2d_t data0_1x16384, read_only image2d_t data1_16x1088, read_only image2d_t data2_1x4352, read_only image2d_t data3_1x32) {
  int idx1 = get_global_id(1); /* 128 */
  int alu0 = (idx1>>3);
  for (int Ridx0 = 0; Ridx0 < 32; Ridx0++) {
    int alu17 = (((idx1&7)*136)+Ridx0);
    float4 val0 = read_imagef(data1_16x1088, smp, (int2)((alu17+34),alu0));
    float4 val1 = read_imagef(data1_16x1088, smp, (int2)((alu17+68),alu0));
    float4 val2 = read_imagef(data1_16x1088, smp, (int2)((alu17+102),alu0));
    float4 val3 = read_imagef(data1_16x1088, smp, (int2)(alu17,alu0));
    int alu18 = ((idx0*136)+(Ridx0<<2));
    float4 val4 = read_imagef(data2_1x4352, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1x4352, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1x4352, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1x4352, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1x32, smp, (int2)(idx0,0));
  int alu52 = (idx0+(idx1<<7));
  write_imagef(data0_1x16384, (int2)(alu52,0), (float4)(((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),((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39)));
  write_imagef(data0_1x16384, (int2)((alu52+32),0), (float4)(((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43)));
  write_imagef(data0_1x16384, (int2)((alu52+64),0), (float4)(((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47)));
  write_imagef(data0_1x16384, (int2)((alu52+96),0), (float4)(((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51)));
}

__kernel void r_16_8_32_4_4_3_3(write_only image2d_t data0_1x16384, read_only image2d_t data1_16x1024, read_only image2d_t data2_1x768, read_only image2d_t data3_1x32) {
  int alu1 = (idx2+-1);
  float4 val0 = read_imagef(data1_16x1024, smp, (int2)(alu0,alu1));
  int alu2 = (alu0+-32);
  float4 val1 = read_imagef(data1_16x1024, smp, (int2)(alu2,alu1));
  int alu3 = (idx0*24);
  float4 val2 = read_imagef(data2_1x768, smp, (int2)((alu3+1),0));
  float4 val3 = read_imagef(data2_1x768, smp, (int2)((alu3+4),0));
  float4 val4 = read_imagef(data2_1x768, smp, (int2)(alu3,0));
  float4 val5 = read_imagef(data1_16x1024, smp, (int2)(alu0,idx2));
  int alu4 = (alu0+32);
  float4 val6 = read_imagef(data1_16x1024, smp, (int2)(alu4,idx2));
  float4 val7 = read_imagef(data1_16x1024, smp, (int2)(alu4,alu1));
  float4 val8 = read_imagef(data2_1x768, smp, (int2)((alu3+2),0));
  float4 val9 = read_imagef(data1_16x1024, smp, (int2)(alu2,idx2));
  float4 val10 = read_imagef(data2_1x768, smp, (int2)((alu3+3),0));
  float4 val11 = read_imagef(data2_1x768, smp, (int2)((alu3+5),0));
  float4 val12 = read_imagef(data1_16x1024, smp, (int2)(alu0,alu5));
  float4 val13 = read_imagef(data1_16x1024, smp, (int2)(alu2,alu5));
  float4 val14 = read_imagef(data2_1x768, smp, (int2)((alu3+6),0));
  float4 val15 = read_imagef(data2_1x768, smp, (int2)((alu3+7),0));
  float4 val16 = read_imagef(data1_16x1024, smp, (int2)(alu4,alu5));
  float4 val17 = read_imagef(data2_1x768, smp, (int2)((alu3+8),0));
  float4 val18 = read_imagef(data3_1x32, smp, (int2)(idx0,0));
  int alu6 = (alu0+64);
  float4 val19 = read_imagef(data1_16x1024, smp, (int2)(alu6,idx2));
  int alu7 = (alu0+96);
  float4 val20 = read_imagef(data1_16x1024, smp, (int2)(alu7,idx2));
  int alu8 = (alu0+128);
  float4 val21 = read_imagef(data1_16x1024, smp, (int2)(alu8,idx2));
  float4 val22 = read_imagef(data1_16x1024, smp, (int2)(alu6,alu1));
  float4 val23 = read_imagef(data1_16x1024, smp, (int2)(alu7,alu1));
  float4 val24 = read_imagef(data1_16x1024, smp, (int2)(alu8,alu1));
  float4 val25 = read_imagef(data1_16x1024, smp, (int2)(alu6,alu5));
  float4 val26 = read_imagef(data1_16x1024, smp, (int2)(alu7,alu5));
  float4 val27 = read_imagef(data1_16x1024, smp, (int2)(alu8,alu5));
  int alu9 = (alu0+(idx2<<10));
  write_imagef(data0_1x16384, (int2)(alu9,0), (float4)(((val1.x*val4.x)+(val0.x*val2.x)+(val7.x*val8.x)+(val9.x*val10.x)+(val5.x*val3.x)+(val6.x*val11.x)+(val13.x*val14.x)+(val12.x*val15.x)+(val16.x*val17.x)+val18.x),((val1.y*val4.y)+(val0.y*val2.y)+(val7.y*val8.y)+(val9.y*val10.y)+(val5.y*val3.y)+(val6.y*val11.y)+(val13.y*val14.y)+(val12.y*val15.y)+(val16.y*val17.y)+val18.y),((val1.z*val4.z)+(val0.z*val2.z)+(val7.z*val8.z)+(val9.z*val10.z)+(val5.z*val3.z)+(val6.z*val11.z)+(val13.z*val14.z)+(val12.z*val15.z)+(val16.z*val17.z)+val18.z),((val1.w*val4.w)+(val0.w*val2.w)+(val7.w*val8.w)+(val9.w*val10.w)+(val5.w*val3.w)+(val6.w*val11.w)+(val13.w*val14.w)+(val12.w*val15.w)+(val16.w*val17.w)+val18.w)));
  write_imagef(data0_1x16384, (int2)((alu9+32),0), (float4)(((val0.x*val4.x)+(val7.x*val2.x)+(val22.x*val8.x)+(val5.x*val10.x)+(val6.x*val3.x)+(val19.x*val11.x)+(val12.x*val14.x)+(val16.x*val15.x)+(val25.x*val17.x)+val18.x),((val0.y*val4.y)+(val7.y*val2.y)+(val22.y*val8.y)+(val5.y*val10.y)+(val6.y*val3.y)+(val19.y*val11.y)+(val12.y*val14.y)+(val16.y*val15.y)+(val25.y*val17.y)+val18.y),((val0.z*val4.z)+(val7.z*val2.z)+(val22.z*val8.z)+(val5.z*val10.z)+(val6.z*val3.z)+(val19.z*val11.z)+(val12.z*val14.z)+(val16.z*val15.z)+(val25.z*val17.z)+val18.z),((val0.w*val4.w)+(val7.w*val2.w)+(val22.w*val8.w)+(val5.w*val10.w)+(val6.w*val3.w)+(val19.w*val11.w)+(val12.w*val14.w)+(val16.w*val15.w)+(val25.w*val17.w)+val18.w)));
  write_imagef(data0_1x16384, (int2)((alu9+64),0), (float4)(((val7.x*val4.x)+(val22.x*val2.x)+(val23.x*val8.x)+(val6.x*val10.x)+(val19.x*val3.x)+(val20.x*val11.x)+(val16.x*val14.x)+(val25.x*val15.x)+(val26.x*val17.x)+val18.x),((val7.y*val4.y)+(val22.y*val2.y)+(val23.y*val8.y)+(val6.y*val10.y)+(val19.y*val3.y)+(val20.y*val11.y)+(val16.y*val14.y)+(val25.y*val15.y)+(val26.y*val17.y)+val18.y),((val7.z*val4.z)+(val22.z*val2.z)+(val23.z*val8.z)+(val6.z*val10.z)+(val19.z*val3.z)+(val20.z*val11.z)+(val16.z*val14.z)+(val25.z*val15.z)+(val26.z*val17.z)+val18.z),((val7.w*val4.w)+(val22.w*val2.w)+(val23.w*val8.w)+(val6.w*val10.w)+(val19.w*val3.w)+(val20.w*val11.w)+(val16.w*val14.w)+(val25.w*val15.w)+(val26.w*val17.w)+val18.w)));
  write_imagef(data0_1x16384, (int2)((alu9+96),0), (float4)(((val22.x*val4.x)+(val23.x*val2.x)+(val24.x*val8.x)+(val19.x*val10.x)+(val20.x*val3.x)+(val21.x*val11.x)+(val25.x*val14.x)+(val26.x*val15.x)+(val27.x*val17.x)+val18.x),((val22.y*val4.y)+(val23.y*val2.y)+(val24.y*val8.y)+(val19.y*val10.y)+(val20.y*val3.y)+(val21.y*val11.y)+(val25.y*val14.y)+(val26.y*val15.y)+(val27.y*val17.y)+val18.y),((val22.z*val4.z)+(val23.z*val2.z)+(val24.z*val8.z)+(val19.z*val10.z)+(val20.z*val3.z)+(val21.z*val11.z)+(val25.z*val14.z)+(val26.z*val15.z)+(val27.z*val17.z)+val18.z),((val22.w*val4.w)+(val23.w*val2.w)+(val24.w*val8.w)+(val19.w*val10.w)+(val20.w*val3.w)+(val21.w*val11.w)+(val25.w*val14.w)+(val26.w*val15.w)+(val27.w*val17.w)+val18.w)));
}

__kernel void r_16_8_32_4_4_7_7(write_only image2d_t data0_16x1088, read_only image2d_t data1_16x1024, read_only image2d_t data2_1x1792, read_only image2d_t data3_1x32) {
    float4 val0 = read_imagef(data1_16x1024, smp, (int2)(alu0,alu17));
    float4 val1 = read_imagef(data1_16x1024, smp, (int2)((alu0+-96),alu17));
    float4 val2 = read_imagef(data2_1x1792, smp, (int2)((alu18+1),0));
    float4 val3 = read_imagef(data2_1x1792, smp, (int2)((alu18+3),0));
    float4 val4 = read_imagef(data2_1x1792, smp, (int2)(alu18,0));
    float4 val5 = read_imagef(data1_16x1024, smp, (int2)((alu0+-64),alu17));
    float4 val6 = read_imagef(data1_16x1024, smp, (int2)((alu0+-32),alu17));
    float4 val7 = read_imagef(data2_1x1792, smp, (int2)((alu18+2),0));
    float4 val8 = read_imagef(data1_16x1024, smp, (int2)((alu0+32),alu17));
    float4 val9 = read_imagef(data2_1x1792, smp, (int2)((alu18+4),0));
    float4 val10 = read_imagef(data1_16x1024, smp, (int2)((alu0+64),alu17));
    float4 val11 = read_imagef(data2_1x1792, smp, (int2)((alu18+5),0));
    float4 val12 = read_imagef(data1_16x1024, smp, (int2)((alu0+96),alu17));
    float4 val13 = read_imagef(data2_1x1792, smp, (int2)((alu18+6),0));
    float4 val14 = read_imagef(data1_16x1024, smp, (int2)((alu0+128),alu17));
    float4 val15 = read_imagef(data1_16x1024, smp, (int2)((alu0+160),alu17));
    float4 val16 = read_imagef(data1_16x1024, smp, (int2)((alu0+192),alu17));
    *(acc0+0) = ((*(acc0+0))+(val1.x*val4.x)+(val5.x*val2.x)+(val6.x*val7.x)+(val0.x*val3.x)+(val8.x*val9.x)+(val10.x*val11.x)+(val12.x*val13.x));
    *(acc0+1) = ((*(acc0+1))+(val5.x*val4.x)+(val6.x*val2.x)+(val0.x*val7.x)+(val8.x*val3.x)+(val10.x*val9.x)+(val12.x*val11.x)+(val14.x*val13.x));
    *(acc0+2) = ((*(acc0+2))+(val6.x*val4.x)+(val0.x*val2.x)+(val8.x*val7.x)+(val10.x*val3.x)+(val12.x*val9.x)+(val14.x*val11.x)+(val15.x*val13.x));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val4.x)+(val8.x*val2.x)+(val10.x*val7.x)+(val12.x*val3.x)+(val14.x*val9.x)+(val15.x*val11.x)+(val16.x*val13.x));
    *(acc0+4) = ((*(acc0+4))+(val1.y*val4.y)+(val5.y*val2.y)+(val6.y*val7.y)+(val0.y*val3.y)+(val8.y*val9.y)+(val10.y*val11.y)+(val12.y*val13.y));
    *(acc0+5) = ((*(acc0+5))+(val5.y*val4.y)+(val6.y*val2.y)+(val0.y*val7.y)+(val8.y*val3.y)+(val10.y*val9.y)+(val12.y*val11.y)+(val14.y*val13.y));
    *(acc0+6) = ((*(acc0+6))+(val6.y*val4.y)+(val0.y*val2.y)+(val8.y*val7.y)+(val10.y*val3.y)+(val12.y*val9.y)+(val14.y*val11.y)+(val15.y*val13.y));
    *(acc0+7) = ((*(acc0+7))+(val0.y*val4.y)+(val8.y*val2.y)+(val10.y*val7.y)+(val12.y*val3.y)+(val14.y*val9.y)+(val15.y*val11.y)+(val16.y*val13.y));
    *(acc0+8) = ((*(acc0+8))+(val1.z*val4.z)+(val5.z*val2.z)+(val6.z*val7.z)+(val0.z*val3.z)+(val8.z*val9.z)+(val10.z*val11.z)+(val12.z*val13.z));
    *(acc0+9) = ((*(acc0+9))+(val5.z*val4.z)+(val6.z*val2.z)+(val0.z*val7.z)+(val8.z*val3.z)+(val10.z*val9.z)+(val12.z*val11.z)+(val14.z*val13.z));
    *(acc0+10) = ((*(acc0+10))+(val6.z*val4.z)+(val0.z*val2.z)+(val8.z*val7.z)+(val10.z*val3.z)+(val12.z*val9.z)+(val14.z*val11.z)+(val15.z*val13.z));
    *(acc0+11) = ((*(acc0+11))+(val0.z*val4.z)+(val8.z*val2.z)+(val10.z*val7.z)+(val12.z*val3.z)+(val14.z*val9.z)+(val15.z*val11.z)+(val16.z*val13.z));
    *(acc0+12) = ((*(acc0+12))+(val1.w*val4.w)+(val5.w*val2.w)+(val6.w*val7.w)+(val0.w*val3.w)+(val8.w*val9.w)+(val10.w*val11.w)+(val12.w*val13.w));
    *(acc0+13) = ((*(acc0+13))+(val5.w*val4.w)+(val6.w*val2.w)+(val0.w*val7.w)+(val8.w*val3.w)+(val10.w*val9.w)+(val12.w*val11.w)+(val14.w*val13.w));
    *(acc0+14) = ((*(acc0+14))+(val6.w*val4.w)+(val0.w*val2.w)+(val8.w*val7.w)+(val10.w*val3.w)+(val12.w*val9.w)+(val14.w*val11.w)+(val15.w*val13.w));
    *(acc0+15) = ((*(acc0+15))+(val0.w*val4.w)+(val8.w*val2.w)+(val10.w*val7.w)+(val12.w*val3.w)+(val14.w*val9.w)+(val15.w*val11.w)+(val16.w*val13.w));
  }
  float4 val17 = read_imagef(data3_1x32, smp, (int2)(idx0,0));
  int alu36 = (idx0+(idx1*136));
  write_imagef(data0_16x1088, (int2)(alu36,idx2), (float4)(((*(acc0+0))+val17.x),((*(acc0+4))+val17.y),((*(acc0+8))+val17.z),((*(acc0+12))+val17.w)));
  write_imagef(data0_16x1088, (int2)((alu36+34),idx2), (float4)(((*(acc0+1))+val17.x),((*(acc0+5))+val17.y),((*(acc0+9))+val17.z),((*(acc0+13))+val17.w)));
  write_imagef(data0_16x1088, (int2)((alu36+68),idx2), (float4)(((*(acc0+2))+val17.x),((*(acc0+6))+val17.y),((*(acc0+10))+val17.z),((*(acc0+14))+val17.w)));
  write_imagef(data0_16x1088, (int2)((alu36+102),idx2), (float4)(((*(acc0+3))+val17.x),((*(acc0+7))+val17.y),((*(acc0+11))+val17.z),((*(acc0+15))+val17.w)));
}

__kernel void r_128_96_4_4_32_4(write_only image2d_t data0_128x384, read_only image2d_t data1_16x1088, read_only image2d_t data2_1x13056, read_only image2d_t data3_1x96) {
  int idx0 = get_global_id(0); /* 96 */
    float4 val4 = read_imagef(data2_1x13056, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1x13056, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1x13056, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1x13056, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1x96, smp, (int2)(idx0,0));
  write_imagef(data0_128x384, (int2)(idx0,idx1), (float4)(((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),((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39)));
  write_imagef(data0_128x384, (int2)((idx0+96),idx1), (float4)(((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43)));
  write_imagef(data0_128x384, (int2)((idx0+192),idx1), (float4)(((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47)));
  write_imagef(data0_128x384, (int2)((idx0+288),idx1), (float4)(((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51)));
}

__kernel void r_128_32_4_4_96_4(write_only image2d_t data0_1x16384, read_only image2d_t data1_1x16384, read_only image2d_t data2_128x384, read_only image2d_t data3_1x12288, read_only image2d_t data4_1x32, read_only image2d_t data5_1x32) {
  for (int Ridx0 = 0; Ridx0 < 96; Ridx0++) {
    float4 val0 = read_imagef(data2_128x384, smp, (int2)((Ridx0+192),idx1));
    float4 val1 = read_imagef(data2_128x384, smp, (int2)((Ridx0+288),idx1));
    float4 val2 = read_imagef(data2_128x384, smp, (int2)(Ridx0,idx1));
    int alu16 = ((idx0*384)+(Ridx0<<2));
    float4 val3 = read_imagef(data3_1x12288, smp, (int2)((alu16+1),0));
    float4 val4 = read_imagef(data3_1x12288, smp, (int2)((alu16+2),0));
    float4 val5 = read_imagef(data3_1x12288, smp, (int2)((alu16+3),0));
    float4 val6 = read_imagef(data3_1x12288, smp, (int2)(alu16,0));
    float4 val7 = read_imagef(data2_128x384, smp, (int2)((Ridx0+96),idx1));
    *(acc0+0) = ((*(acc0+0))+(val2.x*val6.x)+(val2.y*val3.x)+(val2.z*val4.x)+(val2.w*val5.x));
    *(acc0+1) = ((*(acc0+1))+(val7.x*val6.x)+(val7.y*val3.x)+(val7.z*val4.x)+(val7.w*val5.x));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val6.x)+(val0.y*val3.x)+(val0.z*val4.x)+(val0.w*val5.x));
    *(acc0+3) = ((*(acc0+3))+(val1.x*val6.x)+(val1.y*val3.x)+(val1.z*val4.x)+(val1.w*val5.x));
    *(acc0+4) = ((*(acc0+4))+(val2.x*val6.y)+(val2.y*val3.y)+(val2.z*val4.y)+(val2.w*val5.y));
    *(acc0+5) = ((*(acc0+5))+(val7.x*val6.y)+(val7.y*val3.y)+(val7.z*val4.y)+(val7.w*val5.y));
    *(acc0+6) = ((*(acc0+6))+(val0.x*val6.y)+(val0.y*val3.y)+(val0.z*val4.y)+(val0.w*val5.y));
    *(acc0+7) = ((*(acc0+7))+(val1.x*val6.y)+(val1.y*val3.y)+(val1.z*val4.y)+(val1.w*val5.y));
    *(acc0+8) = ((*(acc0+8))+(val2.x*val6.z)+(val2.y*val3.z)+(val2.z*val4.z)+(val2.w*val5.z));
    *(acc0+9) = ((*(acc0+9))+(val7.x*val6.z)+(val7.y*val3.z)+(val7.z*val4.z)+(val7.w*val5.z));
    *(acc0+10) = ((*(acc0+10))+(val0.x*val6.z)+(val0.y*val3.z)+(val0.z*val4.z)+(val0.w*val5.z));
    *(acc0+11) = ((*(acc0+11))+(val1.x*val6.z)+(val1.y*val3.z)+(val1.z*val4.z)+(val1.w*val5.z));
    *(acc0+12) = ((*(acc0+12))+(val2.x*val6.w)+(val2.y*val3.w)+(val2.z*val4.w)+(val2.w*val5.w));
    *(acc0+13) = ((*(acc0+13))+(val7.x*val6.w)+(val7.y*val3.w)+(val7.z*val4.w)+(val7.w*val5.w));
    *(acc0+14) = ((*(acc0+14))+(val0.x*val6.w)+(val0.y*val3.w)+(val0.z*val4.w)+(val0.w*val5.w));
    *(acc0+15) = ((*(acc0+15))+(val1.x*val6.w)+(val1.y*val3.w)+(val1.z*val4.w)+(val1.w*val5.w));
  }
  int alu34 = (idx0+(idx1<<7));
  float4 val8 = read_imagef(data1_1x16384, smp, (int2)(alu34,0));
  float4 val9 = read_imagef(data4_1x32, smp, (int2)(idx0,0));
  float4 val10 = read_imagef(data5_1x32, smp, (int2)(idx0,0));
  int alu35 = (alu34+32);
  float4 val11 = read_imagef(data1_1x16384, smp, (int2)(alu35,0));
  int alu36 = (alu34+64);
  float4 val12 = read_imagef(data1_1x16384, smp, (int2)(alu36,0));
  int alu37 = (alu34+96);
  float4 val13 = read_imagef(data1_1x16384, smp, (int2)(alu37,0));
  write_imagef(data0_1x16384, (int2)(alu34,0), (float4)((val8.x+(((*(acc0+0))+val9.x)*val10.x)),(val8.y+(((*(acc0+4))+val9.y)*val10.y)),(val8.z+(((*(acc0+8))+val9.z)*val10.z)),(val8.w+(((*(acc0+12))+val9.w)*val10.w))));
  write_imagef(data0_1x16384, (int2)(alu35,0), (float4)((val11.x+(((*(acc0+1))+val9.x)*val10.x)),(val11.y+(((*(acc0+5))+val9.y)*val10.y)),(val11.z+(((*(acc0+9))+val9.z)*val10.z)),(val11.w+(((*(acc0+13))+val9.w)*val10.w))));
  write_imagef(data0_1x16384, (int2)(alu36,0), (float4)((val12.x+(((*(acc0+2))+val9.x)*val10.x)),(val12.y+(((*(acc0+6))+val9.y)*val10.y)),(val12.z+(((*(acc0+10))+val9.z)*val10.z)),(val12.w+(((*(acc0+14))+val9.w)*val10.w))));
  write_imagef(data0_1x16384, (int2)(alu37,0), (float4)((val13.x+(((*(acc0+3))+val9.x)*val10.x)),(val13.y+(((*(acc0+7))+val9.y)*val10.y)),(val13.z+(((*(acc0+11))+val9.z)*val10.z)),(val13.w+(((*(acc0+15))+val9.w)*val10.w))));
}

__kernel void r_8_4_32_2_4_4_7_7(__global half* data0_33280, read_only image2d_t data1_16x1024, __global half* data2_28672, __global half* data3_256) {
  int idx0 = get_global_id(0); /* 64 */
  int idx1 = get_global_id(1); /* 4 */
  int idx2 = get_global_id(2); /* 8 */
  int alu1 = ((idx1<<8)+alu0);
    half val0 = (*(data2_28672+(alu19+4)));
    half val1 = (*(data2_28672+(alu19+8)));
    half val2 = (*(data2_28672+(alu19+12)));
    half val3 = (*(data2_28672+(alu19+16)));
    half val4 = (*(data2_28672+(alu19+20)));
    half val5 = (*(data2_28672+(alu19+24)));
    half val6 = (*(data2_28672+(alu19+224)));
    half val7 = (*(data2_28672+(alu19+228)));
    half val8 = (*(data2_28672+(alu19+232)));
    half val9 = (*(data2_28672+(alu19+236)));
    half val10 = (*(data2_28672+(alu19+240)));
    half val11 = (*(data2_28672+(alu19+244)));
    half val12 = (*(data2_28672+(alu19+248)));
    half val13 = (*(data2_28672+(alu19+448)));
    half val14 = (*(data2_28672+(alu19+452)));
    half val15 = (*(data2_28672+(alu19+456)));
    half val16 = (*(data2_28672+(alu19+460)));
    half val17 = (*(data2_28672+(alu19+464)));
    half val18 = (*(data2_28672+(alu19+468)));
    half val19 = (*(data2_28672+(alu19+472)));
    half val20 = (*(data2_28672+(alu19+672)));
    half val21 = (*(data2_28672+(alu19+676)));
    half val22 = (*(data2_28672+(alu19+680)));
    half val23 = (*(data2_28672+(alu19+684)));
    half val24 = (*(data2_28672+(alu19+688)));
    half val25 = (*(data2_28672+(alu19+692)));
    half val26 = (*(data2_28672+(alu19+696)));
    half val27 = (*(data2_28672+alu19));
    float4 val28 = read_imagef(data1_16x1024, smp, (int2)((alu1+-96),alu20));
    float4 val29 = read_imagef(data1_16x1024, smp, (int2)((alu1+-64),alu20));
    float4 val30 = read_imagef(data1_16x1024, smp, (int2)((alu1+-32),alu20));
    float4 val31 = read_imagef(data1_16x1024, smp, (int2)((alu1+32),alu20));
    float4 val32 = read_imagef(data1_16x1024, smp, (int2)((alu1+64),alu20));
    float4 val33 = read_imagef(data1_16x1024, smp, (int2)((alu1+96),alu20));
    float4 val34 = read_imagef(data1_16x1024, smp, (int2)((alu1+128),alu20));
    float4 val35 = read_imagef(data1_16x1024, smp, (int2)((alu1+160),alu20));
    float4 val36 = read_imagef(data1_16x1024, smp, (int2)((alu1+192),alu20));
    float4 val37 = read_imagef(data1_16x1024, smp, (int2)((alu1+224),alu20));
    float4 val38 = read_imagef(data1_16x1024, smp, (int2)((alu1+256),alu20));
    float4 val39 = read_imagef(data1_16x1024, smp, (int2)((alu1+288),alu20));
    float4 val40 = read_imagef(data1_16x1024, smp, (int2)(alu1,alu20));
  }
  half val41 = (*(data3_256+(alu38+2)));
  half val42 = (*(data3_256+(alu38+4)));
  half val43 = (*(data3_256+(alu38+6)));
  half val44 = (*(data3_256+alu38));
  int alu39 = (alu38+(idx1*1040)+(idx2*4160));
  *(data0_33280+(alu39+2)) = ((half)(((*(acc0+4))+cast29)));
  *(data0_33280+(alu39+4)) = ((half)(((*(acc0+8))+cast30)));
  *(data0_33280+(alu39+6)) = ((half)(((*(acc0+12))+cast31)));
  *(data0_33280+(alu39+260)) = ((half)(((*(acc0+1))+cast28)));
  *(data0_33280+(alu39+262)) = ((half)(((*(acc0+5))+cast29)));
  *(data0_33280+(alu39+264)) = ((half)(((*(acc0+9))+cast30)));
  *(data0_33280+(alu39+266)) = ((half)(((*(acc0+13))+cast31)));
  *(data0_33280+(alu39+520)) = ((half)(((*(acc0+2))+cast28)));
  *(data0_33280+(alu39+522)) = ((half)(((*(acc0+6))+cast29)));
  *(data0_33280+(alu39+524)) = ((half)(((*(acc0+10))+cast30)));
  *(data0_33280+(alu39+526)) = ((half)(((*(acc0+14))+cast31)));
  *(data0_33280+(alu39+780)) = ((half)(((*(acc0+3))+cast28)));
  *(data0_33280+(alu39+782)) = ((half)(((*(acc0+7))+cast29)));
  *(data0_33280+(alu39+784)) = ((half)(((*(acc0+11))+cast30)));
  *(data0_33280+(alu39+786)) = ((half)(((*(acc0+15))+cast31)));
  *(data0_33280+alu39) = ((half)(((*(acc0+0))+cast28)));
}

__kernel void r_32_64_4_4_64_4(write_only image2d_t data0_1x8192, read_only image2d_t data1_1x8320, read_only image2d_t data2_64x320, read_only image2d_t data3_1x64) {
  for (int Ridx0 = 0; Ridx0 < 64; Ridx0++) {
    int alu16 = ((idx1*260)+Ridx0);
    float4 val0 = read_imagef(data1_1x8320, smp, (int2)((alu16+65),0));
    float4 val1 = read_imagef(data1_1x8320, smp, (int2)((alu16+130),0));
    float4 val2 = read_imagef(data1_1x8320, smp, (int2)((alu16+195),0));
    float4 val3 = read_imagef(data1_1x8320, smp, (int2)(alu16,0));
    int alu17 = (Ridx0<<2);
    float4 val4 = read_imagef(data2_64x320, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_64x320, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_64x320, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_64x320, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1x64, smp, (int2)(idx0,0));
  float alu35 = ((*(acc0+0))+val8.x);
  float alu36 = ((*(acc0+4))+val8.y);
  float alu37 = ((*(acc0+8))+val8.z);
  float alu38 = ((*(acc0+12))+val8.w);
  float alu39 = ((*(acc0+1))+val8.x);
  float alu40 = ((*(acc0+5))+val8.y);
  float alu41 = ((*(acc0+9))+val8.z);
  float alu42 = ((*(acc0+13))+val8.w);
  float alu43 = ((*(acc0+2))+val8.x);
  float alu44 = ((*(acc0+6))+val8.y);
  float alu45 = ((*(acc0+10))+val8.z);
  float alu46 = ((*(acc0+14))+val8.w);
  float alu47 = ((*(acc0+3))+val8.x);
  float alu48 = ((*(acc0+7))+val8.y);
  float alu49 = ((*(acc0+11))+val8.z);
  float alu50 = ((*(acc0+15))+val8.w);
  int alu51 = (idx0+(idx1<<8));
  write_imagef(data0_1x8192, (int2)(alu51,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)));
  write_imagef(data0_1x8192, (int2)((alu51+64),0), (float4)(((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42)));
  write_imagef(data0_1x8192, (int2)((alu51+128),0), (float4)(((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46)));
  write_imagef(data0_1x8192, (int2)((alu51+192),0), (float4)(((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50)));
}

__kernel void r_8_4_64_4_4_3_3(write_only image2d_t data0_1x8192, read_only image2d_t data1_8x1024, read_only image2d_t data2_1x1536, read_only image2d_t data3_1x64) {
  int alu0 = (idx0+(idx1<<8));
  int alu1 = (alu0+64);
  float4 val0 = read_imagef(data1_8x1024, smp, (int2)(alu1,idx2));
  float4 val1 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu2));
  int alu3 = (alu0+-64);
  float4 val2 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu2));
  float4 val3 = read_imagef(data2_1x1536, smp, (int2)((alu4+1),0));
  float4 val4 = read_imagef(data2_1x1536, smp, (int2)((alu4+5),0));
  float4 val5 = read_imagef(data2_1x1536, smp, (int2)(alu4,0));
  float4 val6 = read_imagef(data1_8x1024, smp, (int2)(alu0,idx2));
  float4 val7 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu2));
  float4 val8 = read_imagef(data2_1x1536, smp, (int2)((alu4+2),0));
  float4 val9 = read_imagef(data1_8x1024, smp, (int2)(alu3,idx2));
  float4 val10 = read_imagef(data2_1x1536, smp, (int2)((alu4+3),0));
  float4 val11 = read_imagef(data2_1x1536, smp, (int2)((alu4+4),0));
  float4 val12 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu5));
  float4 val13 = read_imagef(data2_1x1536, smp, (int2)((alu4+6),0));
  float4 val14 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu5));
  float4 val15 = read_imagef(data2_1x1536, smp, (int2)((alu4+7),0));
  float4 val16 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu5));
  float4 val17 = read_imagef(data2_1x1536, smp, (int2)((alu4+8),0));
  float4 val18 = read_imagef(data3_1x64, smp, (int2)(idx0,0));
  int alu6 = (alu0+128);
  float4 val19 = read_imagef(data1_8x1024, smp, (int2)(alu6,idx2));
  int alu7 = (alu0+192);
  float4 val20 = read_imagef(data1_8x1024, smp, (int2)(alu7,idx2));
  int alu8 = (alu0+256);
  float4 val21 = read_imagef(data1_8x1024, smp, (int2)(alu8,idx2));
  float4 val22 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu2));
  float4 val23 = read_imagef(data1_8x1024, smp, (int2)(alu7,alu2));
  float4 val24 = read_imagef(data1_8x1024, smp, (int2)(alu8,alu2));
  float4 val25 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu5));
  float4 val26 = read_imagef(data1_8x1024, smp, (int2)(alu7,alu5));
  float4 val27 = read_imagef(data1_8x1024, smp, (int2)(alu8,alu5));
  write_imagef(data0_1x8192, (int2)(alu9,0), (float4)(((val2.x*val5.x)+(val1.x*val3.x)+(val7.x*val8.x)+(val9.x*val10.x)+(val6.x*val11.x)+(val0.x*val4.x)+(val12.x*val13.x)+(val14.x*val15.x)+(val16.x*val17.x)+val18.x),((val2.y*val5.y)+(val1.y*val3.y)+(val7.y*val8.y)+(val9.y*val10.y)+(val6.y*val11.y)+(val0.y*val4.y)+(val12.y*val13.y)+(val14.y*val15.y)+(val16.y*val17.y)+val18.y),((val2.z*val5.z)+(val1.z*val3.z)+(val7.z*val8.z)+(val9.z*val10.z)+(val6.z*val11.z)+(val0.z*val4.z)+(val12.z*val13.z)+(val14.z*val15.z)+(val16.z*val17.z)+val18.z),((val2.w*val5.w)+(val1.w*val3.w)+(val7.w*val8.w)+(val9.w*val10.w)+(val6.w*val11.w)+(val0.w*val4.w)+(val12.w*val13.w)+(val14.w*val15.w)+(val16.w*val17.w)+val18.w)));
  write_imagef(data0_1x8192, (int2)((alu9+64),0), (float4)(((val1.x*val5.x)+(val7.x*val3.x)+(val22.x*val8.x)+(val6.x*val10.x)+(val0.x*val11.x)+(val19.x*val4.x)+(val14.x*val13.x)+(val16.x*val15.x)+(val25.x*val17.x)+val18.x),((val1.y*val5.y)+(val7.y*val3.y)+(val22.y*val8.y)+(val6.y*val10.y)+(val0.y*val11.y)+(val19.y*val4.y)+(val14.y*val13.y)+(val16.y*val15.y)+(val25.y*val17.y)+val18.y),((val1.z*val5.z)+(val7.z*val3.z)+(val22.z*val8.z)+(val6.z*val10.z)+(val0.z*val11.z)+(val19.z*val4.z)+(val14.z*val13.z)+(val16.z*val15.z)+(val25.z*val17.z)+val18.z),((val1.w*val5.w)+(val7.w*val3.w)+(val22.w*val8.w)+(val6.w*val10.w)+(val0.w*val11.w)+(val19.w*val4.w)+(val14.w*val13.w)+(val16.w*val15.w)+(val25.w*val17.w)+val18.w)));
  write_imagef(data0_1x8192, (int2)((alu9+128),0), (float4)(((val7.x*val5.x)+(val22.x*val3.x)+(val23.x*val8.x)+(val0.x*val10.x)+(val19.x*val11.x)+(val20.x*val4.x)+(val16.x*val13.x)+(val25.x*val15.x)+(val26.x*val17.x)+val18.x),((val7.y*val5.y)+(val22.y*val3.y)+(val23.y*val8.y)+(val0.y*val10.y)+(val19.y*val11.y)+(val20.y*val4.y)+(val16.y*val13.y)+(val25.y*val15.y)+(val26.y*val17.y)+val18.y),((val7.z*val5.z)+(val22.z*val3.z)+(val23.z*val8.z)+(val0.z*val10.z)+(val19.z*val11.z)+(val20.z*val4.z)+(val16.z*val13.z)+(val25.z*val15.z)+(val26.z*val17.z)+val18.z),((val7.w*val5.w)+(val22.w*val3.w)+(val23.w*val8.w)+(val0.w*val10.w)+(val19.w*val11.w)+(val20.w*val4.w)+(val16.w*val13.w)+(val25.w*val15.w)+(val26.w*val17.w)+val18.w)));
  write_imagef(data0_1x8192, (int2)((alu9+192),0), (float4)(((val22.x*val5.x)+(val23.x*val3.x)+(val24.x*val8.x)+(val19.x*val10.x)+(val20.x*val11.x)+(val21.x*val4.x)+(val25.x*val13.x)+(val26.x*val15.x)+(val27.x*val17.x)+val18.x),((val22.y*val5.y)+(val23.y*val3.y)+(val24.y*val8.y)+(val19.y*val10.y)+(val20.y*val11.y)+(val21.y*val4.y)+(val25.y*val13.y)+(val26.y*val15.y)+(val27.y*val17.y)+val18.y),((val22.z*val5.z)+(val23.z*val3.z)+(val24.z*val8.z)+(val19.z*val10.z)+(val20.z*val11.z)+(val21.z*val4.z)+(val25.z*val13.z)+(val26.z*val15.z)+(val27.z*val17.z)+val18.z),((val22.w*val5.w)+(val23.w*val3.w)+(val24.w*val8.w)+(val19.w*val10.w)+(val20.w*val11.w)+(val21.w*val4.w)+(val25.w*val13.w)+(val26.w*val15.w)+(val27.w*val17.w)+val18.w)));
}

__kernel void r_8_4_64_4_4_7_7(write_only image2d_t data0_1x8320, read_only image2d_t data1_8x1024, read_only image2d_t data2_1x3584, read_only image2d_t data3_1x64) {
    float4 val0 = read_imagef(data1_8x1024, smp, (int2)((alu0+-192),alu17));
    float4 val1 = read_imagef(data2_1x3584, smp, (int2)((alu18+2),0));
    float4 val2 = read_imagef(data2_1x3584, smp, (int2)(alu18,0));
    float4 val3 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu17));
    float4 val4 = read_imagef(data1_8x1024, smp, (int2)((alu0+-128),alu17));
    float4 val5 = read_imagef(data2_1x3584, smp, (int2)((alu18+1),0));
    float4 val6 = read_imagef(data1_8x1024, smp, (int2)((alu0+-64),alu17));
    float4 val7 = read_imagef(data2_1x3584, smp, (int2)((alu18+3),0));
    float4 val8 = read_imagef(data1_8x1024, smp, (int2)((alu0+64),alu17));
    float4 val9 = read_imagef(data2_1x3584, smp, (int2)((alu18+4),0));
    float4 val10 = read_imagef(data1_8x1024, smp, (int2)((alu0+128),alu17));
    float4 val11 = read_imagef(data2_1x3584, smp, (int2)((alu18+5),0));
    float4 val12 = read_imagef(data1_8x1024, smp, (int2)((alu0+192),alu17));
    float4 val13 = read_imagef(data2_1x3584, smp, (int2)((alu18+6),0));
    float4 val14 = read_imagef(data1_8x1024, smp, (int2)((alu0+256),alu17));
    float4 val15 = read_imagef(data1_8x1024, smp, (int2)((alu0+320),alu17));
    float4 val16 = read_imagef(data1_8x1024, smp, (int2)((alu0+384),alu17));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val2.x)+(val4.x*val5.x)+(val6.x*val1.x)+(val3.x*val7.x)+(val8.x*val9.x)+(val10.x*val11.x)+(val12.x*val13.x));
    *(acc0+1) = ((*(acc0+1))+(val4.x*val2.x)+(val6.x*val5.x)+(val3.x*val1.x)+(val8.x*val7.x)+(val10.x*val9.x)+(val12.x*val11.x)+(val14.x*val13.x));
    *(acc0+2) = ((*(acc0+2))+(val6.x*val2.x)+(val3.x*val5.x)+(val8.x*val1.x)+(val10.x*val7.x)+(val12.x*val9.x)+(val14.x*val11.x)+(val15.x*val13.x));
    *(acc0+3) = ((*(acc0+3))+(val3.x*val2.x)+(val8.x*val5.x)+(val10.x*val1.x)+(val12.x*val7.x)+(val14.x*val9.x)+(val15.x*val11.x)+(val16.x*val13.x));
    *(acc0+4) = ((*(acc0+4))+(val0.y*val2.y)+(val4.y*val5.y)+(val6.y*val1.y)+(val3.y*val7.y)+(val8.y*val9.y)+(val10.y*val11.y)+(val12.y*val13.y));
    *(acc0+5) = ((*(acc0+5))+(val4.y*val2.y)+(val6.y*val5.y)+(val3.y*val1.y)+(val8.y*val7.y)+(val10.y*val9.y)+(val12.y*val11.y)+(val14.y*val13.y));
    *(acc0+6) = ((*(acc0+6))+(val6.y*val2.y)+(val3.y*val5.y)+(val8.y*val1.y)+(val10.y*val7.y)+(val12.y*val9.y)+(val14.y*val11.y)+(val15.y*val13.y));
    *(acc0+7) = ((*(acc0+7))+(val3.y*val2.y)+(val8.y*val5.y)+(val10.y*val1.y)+(val12.y*val7.y)+(val14.y*val9.y)+(val15.y*val11.y)+(val16.y*val13.y));
    *(acc0+8) = ((*(acc0+8))+(val0.z*val2.z)+(val4.z*val5.z)+(val6.z*val1.z)+(val3.z*val7.z)+(val8.z*val9.z)+(val10.z*val11.z)+(val12.z*val13.z));
    *(acc0+9) = ((*(acc0+9))+(val4.z*val2.z)+(val6.z*val5.z)+(val3.z*val1.z)+(val8.z*val7.z)+(val10.z*val9.z)+(val12.z*val11.z)+(val14.z*val13.z));
    *(acc0+10) = ((*(acc0+10))+(val6.z*val2.z)+(val3.z*val5.z)+(val8.z*val1.z)+(val10.z*val7.z)+(val12.z*val9.z)+(val14.z*val11.z)+(val15.z*val13.z));
    *(acc0+11) = ((*(acc0+11))+(val3.z*val2.z)+(val8.z*val5.z)+(val10.z*val1.z)+(val12.z*val7.z)+(val14.z*val9.z)+(val15.z*val11.z)+(val16.z*val13.z));
    *(acc0+12) = ((*(acc0+12))+(val0.w*val2.w)+(val4.w*val5.w)+(val6.w*val1.w)+(val3.w*val7.w)+(val8.w*val9.w)+(val10.w*val11.w)+(val12.w*val13.w));
    *(acc0+13) = ((*(acc0+13))+(val4.w*val2.w)+(val6.w*val5.w)+(val3.w*val1.w)+(val8.w*val7.w)+(val10.w*val9.w)+(val12.w*val11.w)+(val14.w*val13.w));
    *(acc0+14) = ((*(acc0+14))+(val6.w*val2.w)+(val3.w*val5.w)+(val8.w*val1.w)+(val10.w*val7.w)+(val12.w*val9.w)+(val14.w*val11.w)+(val15.w*val13.w));
    *(acc0+15) = ((*(acc0+15))+(val3.w*val2.w)+(val8.w*val5.w)+(val10.w*val1.w)+(val12.w*val7.w)+(val14.w*val9.w)+(val15.w*val11.w)+(val16.w*val13.w));
  }
  float4 val17 = read_imagef(data3_1x64, smp, (int2)(idx0,0));
  int alu36 = (idx0+(idx1*260)+(idx2*1040));
  write_imagef(data0_1x8320, (int2)(alu36,0), (float4)(((*(acc0+0))+val17.x),((*(acc0+4))+val17.y),((*(acc0+8))+val17.z),((*(acc0+12))+val17.w)));
  write_imagef(data0_1x8320, (int2)((alu36+65),0), (float4)(((*(acc0+1))+val17.x),((*(acc0+5))+val17.y),((*(acc0+9))+val17.z),((*(acc0+13))+val17.w)));
  write_imagef(data0_1x8320, (int2)((alu36+130),0), (float4)(((*(acc0+2))+val17.x),((*(acc0+6))+val17.y),((*(acc0+10))+val17.z),((*(acc0+14))+val17.w)));
  write_imagef(data0_1x8320, (int2)((alu36+195),0), (float4)(((*(acc0+3))+val17.x),((*(acc0+7))+val17.y),((*(acc0+11))+val17.z),((*(acc0+15))+val17.w)));
}

__kernel void r_32_192_4_4_64_4(write_only image2d_t data0_32x768, read_only image2d_t data1_1x8320, read_only image2d_t data2_192x320, read_only image2d_t data3_1x192) {
  int idx0 = get_global_id(0); /* 192 */
    float4 val4 = read_imagef(data2_192x320, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_192x320, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_192x320, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_192x320, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1x192, smp, (int2)(idx0,0));
  write_imagef(data0_32x768, (int2)(idx0,idx1), (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)));
  write_imagef(data0_32x768, (int2)((idx0+192),idx1), (float4)(((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42)));
  write_imagef(data0_32x768, (int2)((idx0+384),idx1), (float4)(((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46)));
  write_imagef(data0_32x768, (int2)((idx0+576),idx1), (float4)(((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50)));
}

__kernel void r_32_64_4_4_192_4(write_only image2d_t data0_1x8192, read_only image2d_t data1_1x8192, read_only image2d_t data2_32x768, read_only image2d_t data3_64x768, read_only image2d_t data4_1x64, read_only image2d_t data5_1x64) {
  for (int Ridx0 = 0; Ridx0 < 192; Ridx0++) {
    float4 val0 = read_imagef(data2_32x768, smp, (int2)((Ridx0+192),idx1));
    float4 val1 = read_imagef(data2_32x768, smp, (int2)((Ridx0+384),idx1));
    float4 val2 = read_imagef(data2_32x768, smp, (int2)((Ridx0+576),idx1));
    float4 val3 = read_imagef(data2_32x768, smp, (int2)(Ridx0,idx1));
    int alu16 = (Ridx0<<2);
    float4 val4 = read_imagef(data3_64x768, smp, (int2)((alu16+1),idx0));
    float4 val5 = read_imagef(data3_64x768, smp, (int2)((alu16+2),idx0));
    float4 val6 = read_imagef(data3_64x768, smp, (int2)((alu16+3),idx0));
    float4 val7 = read_imagef(data3_64x768, smp, (int2)(alu16,idx0));
  }
  int alu34 = (idx0+(idx1<<8));
  float4 val8 = read_imagef(data1_1x8192, smp, (int2)(alu34,0));
  float4 val9 = read_imagef(data4_1x64, smp, (int2)(idx0,0));
  float4 val10 = read_imagef(data5_1x64, smp, (int2)(idx0,0));
  int alu35 = (alu34+64);
  float4 val11 = read_imagef(data1_1x8192, smp, (int2)(alu35,0));
  int alu36 = (alu34+128);
  float4 val12 = read_imagef(data1_1x8192, smp, (int2)(alu36,0));
  int alu37 = (alu34+192);
  float4 val13 = read_imagef(data1_1x8192, smp, (int2)(alu37,0));
  write_imagef(data0_1x8192, (int2)(alu34,0), (float4)((val8.x+(((*(acc0+0))+val9.x)*val10.x)),(val8.y+(((*(acc0+4))+val9.y)*val10.y)),(val8.z+(((*(acc0+8))+val9.z)*val10.z)),(val8.w+(((*(acc0+12))+val9.w)*val10.w))));
  write_imagef(data0_1x8192, (int2)(alu35,0), (float4)((val11.x+(((*(acc0+1))+val9.x)*val10.x)),(val11.y+(((*(acc0+5))+val9.y)*val10.y)),(val11.z+(((*(acc0+9))+val9.z)*val10.z)),(val11.w+(((*(acc0+13))+val9.w)*val10.w))));
  write_imagef(data0_1x8192, (int2)(alu36,0), (float4)((val12.x+(((*(acc0+2))+val9.x)*val10.x)),(val12.y+(((*(acc0+6))+val9.y)*val10.y)),(val12.z+(((*(acc0+10))+val9.z)*val10.z)),(val12.w+(((*(acc0+14))+val9.w)*val10.w))));
  write_imagef(data0_1x8192, (int2)(alu37,0), (float4)((val13.x+(((*(acc0+3))+val9.x)*val10.x)),(val13.y+(((*(acc0+7))+val9.y)*val10.y)),(val13.z+(((*(acc0+11))+val9.z)*val10.z)),(val13.w+(((*(acc0+15))+val9.w)*val10.w))));
}

__kernel void r_8_64_2_4_4_7_7(__global half* data0_16512, read_only image2d_t data1_8x1024, __global half* data2_57344, __global half* data3_512) {
  int idx0 = get_global_id(0); /* 2 */
  int idx1 = get_global_id(1); /* 64 */
  int alu0 = (idx1+(idx2<<7));
  int alu1 = (alu0+-192);
  int alu2 = (alu0+-128);
  int alu4 = (alu0+64);
  int alu5 = (alu0+128);
  int alu6 = (alu0+192);
    int alu23 = (idx0+(Ridx0*28)+(idx1*896));
    half val0 = (*(data2_57344+alu23));
    half val1 = (*(data2_57344+(alu23+4)));
    half val2 = (*(data2_57344+(alu23+8)));
    half val3 = (*(data2_57344+(alu23+12)));
    half val4 = (*(data2_57344+(alu23+16)));
    half val5 = (*(data2_57344+(alu23+20)));
    half val6 = (*(data2_57344+(alu23+24)));
    half val7 = (*(data2_57344+(alu23+224)));
    half val8 = (*(data2_57344+(alu23+228)));
    half val9 = (*(data2_57344+(alu23+232)));
    half val10 = (*(data2_57344+(alu23+236)));
    half val11 = (*(data2_57344+(alu23+240)));
    half val12 = (*(data2_57344+(alu23+244)));
    half val13 = (*(data2_57344+(alu23+248)));
    half val14 = (*(data2_57344+(alu23+448)));
    half val15 = (*(data2_57344+(alu23+452)));
    half val16 = (*(data2_57344+(alu23+456)));
    half val17 = (*(data2_57344+(alu23+460)));
    half val18 = (*(data2_57344+(alu23+464)));
    half val19 = (*(data2_57344+(alu23+468)));
    half val20 = (*(data2_57344+(alu23+472)));
    half val21 = (*(data2_57344+(alu23+672)));
    half val22 = (*(data2_57344+(alu23+676)));
    half val23 = (*(data2_57344+(alu23+680)));
    half val24 = (*(data2_57344+(alu23+684)));
    half val25 = (*(data2_57344+(alu23+688)));
    half val26 = (*(data2_57344+(alu23+692)));
    half val27 = (*(data2_57344+(alu23+696)));
    int alu24 = (Ridx0+-3);
    float4 val28 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu24));
    float4 val29 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu24));
    float4 val30 = read_imagef(data1_8x1024, smp, (int2)(alu2,alu24));
    float4 val31 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu24));
    float4 val32 = read_imagef(data1_8x1024, smp, (int2)(alu4,alu24));
    float4 val33 = read_imagef(data1_8x1024, smp, (int2)(alu5,alu24));
    float4 val34 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu24));
    int alu25 = (Ridx0+-1);
    float4 val35 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu25));
    float4 val36 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu25));
    float4 val37 = read_imagef(data1_8x1024, smp, (int2)(alu2,alu25));
    float4 val38 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu25));
    float4 val39 = read_imagef(data1_8x1024, smp, (int2)(alu4,alu25));
    float4 val40 = read_imagef(data1_8x1024, smp, (int2)(alu5,alu25));
    float4 val41 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu25));
    int alu26 = (Ridx0+1);
    float4 val42 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu26));
    float4 val43 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu26));
    float4 val44 = read_imagef(data1_8x1024, smp, (int2)(alu2,alu26));
    float4 val45 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu26));
    float4 val46 = read_imagef(data1_8x1024, smp, (int2)(alu4,alu26));
    float4 val47 = read_imagef(data1_8x1024, smp, (int2)(alu5,alu26));
    float4 val48 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu26));
    int alu27 = (Ridx0+3);
    float4 val49 = read_imagef(data1_8x1024, smp, (int2)(alu0,alu27));
    float4 val50 = read_imagef(data1_8x1024, smp, (int2)(alu1,alu27));
    float4 val51 = read_imagef(data1_8x1024, smp, (int2)(alu2,alu27));
    float4 val52 = read_imagef(data1_8x1024, smp, (int2)(alu3,alu27));
    float4 val53 = read_imagef(data1_8x1024, smp, (int2)(alu4,alu27));
    float4 val54 = read_imagef(data1_8x1024, smp, (int2)(alu5,alu27));
    float4 val55 = read_imagef(data1_8x1024, smp, (int2)(alu6,alu27));
    *(acc0+0) = ((*(acc0+0))+(val29.x*cast0)+(val30.x*cast1)+(val31.x*cast2)+(val28.x*cast3)+(val32.x*cast4)+(val33.x*cast5)+(val34.x*cast6));
    *(acc0+1) = ((*(acc0+1))+(val36.x*cast0)+(val37.x*cast1)+(val38.x*cast2)+(val35.x*cast3)+(val39.x*cast4)+(val40.x*cast5)+(val41.x*cast6));
    *(acc0+2) = ((*(acc0+2))+(val43.x*cast0)+(val44.x*cast1)+(val45.x*cast2)+(val42.x*cast3)+(val46.x*cast4)+(val47.x*cast5)+(val48.x*cast6));
    *(acc0+3) = ((*(acc0+3))+(val50.x*cast0)+(val51.x*cast1)+(val52.x*cast2)+(val49.x*cast3)+(val53.x*cast4)+(val54.x*cast5)+(val55.x*cast6));
    *(acc0+4) = ((*(acc0+4))+(val29.y*cast7)+(val30.y*cast8)+(val31.y*cast9)+(val28.y*cast10)+(val32.y*cast11)+(val33.y*cast12)+(val34.y*cast13));
    *(acc0+5) = ((*(acc0+5))+(val36.y*cast7)+(val37.y*cast8)+(val38.y*cast9)+(val35.y*cast10)+(val39.y*cast11)+(val40.y*cast12)+(val41.y*cast13));
    *(acc0+6) = ((*(acc0+6))+(val43.y*cast7)+(val44.y*cast8)+(val45.y*cast9)+(val42.y*cast10)+(val46.y*cast11)+(val47.y*cast12)+(val48.y*cast13));
    *(acc0+7) = ((*(acc0+7))+(val50.y*cast7)+(val51.y*cast8)+(val52.y*cast9)+(val49.y*cast10)+(val53.y*cast11)+(val54.y*cast12)+(val55.y*cast13));
    *(acc0+8) = ((*(acc0+8))+(val29.z*cast14)+(val30.z*cast15)+(val31.z*cast16)+(val28.z*cast17)+(val32.z*cast18)+(val33.z*cast19)+(val34.z*cast20));
    *(acc0+9) = ((*(acc0+9))+(val36.z*cast14)+(val37.z*cast15)+(val38.z*cast16)+(val35.z*cast17)+(val39.z*cast18)+(val40.z*cast19)+(val41.z*cast20));
    *(acc0+10) = ((*(acc0+10))+(val43.z*cast14)+(val44.z*cast15)+(val45.z*cast16)+(val42.z*cast17)+(val46.z*cast18)+(val47.z*cast19)+(val48.z*cast20));
    *(acc0+11) = ((*(acc0+11))+(val50.z*cast14)+(val51.z*cast15)+(val52.z*cast16)+(val49.z*cast17)+(val53.z*cast18)+(val54.z*cast19)+(val55.z*cast20));
    *(acc0+12) = ((*(acc0+12))+(val29.w*cast21)+(val30.w*cast22)+(val31.w*cast23)+(val28.w*cast24)+(val32.w*cast25)+(val33.w*cast26)+(val34.w*cast27));
    *(acc0+13) = ((*(acc0+13))+(val36.w*cast21)+(val37.w*cast22)+(val38.w*cast23)+(val35.w*cast24)+(val39.w*cast25)+(val40.w*cast26)+(val41.w*cast27));
    *(acc0+14) = ((*(acc0+14))+(val43.w*cast21)+(val44.w*cast22)+(val45.w*cast23)+(val42.w*cast24)+(val46.w*cast25)+(val47.w*cast26)+(val48.w*cast27));
    *(acc0+15) = ((*(acc0+15))+(val50.w*cast21)+(val51.w*cast22)+(val52.w*cast23)+(val49.w*cast24)+(val53.w*cast25)+(val54.w*cast26)+(val55.w*cast27));
  }
  int alu45 = (idx0+(idx1<<3));
  half val56 = (*(data3_512+alu45));
  half val57 = (*(data3_512+(alu45+2)));
  half val58 = (*(data3_512+(alu45+4)));
  half val59 = (*(data3_512+(alu45+6)));
  int alu46 = (alu45+(idx2*516));
  float cast28 = ((float)(val56));
  float cast29 = ((float)(val57));
  float cast30 = ((float)(val58));
  float cast31 = ((float)(val59));
  *(data0_16512+alu46) = ((half)(((*(acc0+0))+cast28)));
  *(data0_16512+(alu46+2)) = ((half)(((*(acc0+4))+cast29)));
  *(data0_16512+(alu46+4)) = ((half)(((*(acc0+8))+cast30)));
  *(data0_16512+(alu46+6)) = ((half)(((*(acc0+12))+cast31)));
  *(data0_16512+(alu46+4128)) = ((half)(((*(acc0+1))+cast28)));
  *(data0_16512+(alu46+4130)) = ((half)(((*(acc0+5))+cast29)));
  *(data0_16512+(alu46+4132)) = ((half)(((*(acc0+9))+cast30)));
  *(data0_16512+(alu46+4134)) = ((half)(((*(acc0+13))+cast31)));
  *(data0_16512+(alu46+8256)) = ((half)(((*(acc0+2))+cast28)));
  *(data0_16512+(alu46+8258)) = ((half)(((*(acc0+6))+cast29)));
  *(data0_16512+(alu46+8260)) = ((half)(((*(acc0+10))+cast30)));
  *(data0_16512+(alu46+8262)) = ((half)(((*(acc0+14))+cast31)));
  *(data0_16512+(alu46+12384)) = ((half)(((*(acc0+3))+cast28)));
  *(data0_16512+(alu46+12386)) = ((half)(((*(acc0+7))+cast29)));
  *(data0_16512+(alu46+12388)) = ((half)(((*(acc0+11))+cast30)));
  *(data0_16512+(alu46+12390)) = ((half)(((*(acc0+15))+cast31)));
}

__kernel void r_8_128_4_4_128_4(write_only image2d_t data0_1x4096, read_only image2d_t data1_1x4128, read_only image2d_t data2_128x576, read_only image2d_t data3_1x128) {
  int idx0 = get_global_id(0); /* 128 */
  for (int Ridx0 = 0; Ridx0 < 128; Ridx0++) {
    int alu16 = ((idx1*516)+Ridx0);
    float4 val0 = read_imagef(data1_1x4128, smp, (int2)((alu16+129),0));
    float4 val1 = read_imagef(data1_1x4128, smp, (int2)((alu16+258),0));
    float4 val2 = read_imagef(data1_1x4128, smp, (int2)((alu16+387),0));
    float4 val3 = read_imagef(data1_1x4128, smp, (int2)(alu16,0));
    float4 val4 = read_imagef(data2_128x576, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_128x576, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_128x576, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_128x576, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  int alu51 = (idx0+(idx1<<9));
  write_imagef(data0_1x4096, (int2)(alu51,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)));
  write_imagef(data0_1x4096, (int2)((alu51+128),0), (float4)(((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42)));
  write_imagef(data0_1x4096, (int2)((alu51+256),0), (float4)(((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46)));
  write_imagef(data0_1x4096, (int2)((alu51+384),0), (float4)(((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50)));
}

__kernel void r_8_128_4_4_3_3(write_only image2d_t data0_4x1024, read_only image2d_t data1_2x2048, read_only image2d_t data2_1x3072, read_only image2d_t data3_1x128) {
  float4 val0 = read_imagef(data1_2x2048, smp, (int2)(alu0,0));
  int alu1 = (alu0+-128);
  float4 val1 = read_imagef(data1_2x2048, smp, (int2)(alu1,0));
  int alu2 = (idx0*24);
  float4 val2 = read_imagef(data2_1x3072, smp, (int2)((alu2+1),0));
  float4 val3 = read_imagef(data2_1x3072, smp, (int2)((alu2+2),0));
  float4 val4 = read_imagef(data2_1x3072, smp, (int2)((alu2+3),0));
  float4 val5 = read_imagef(data2_1x3072, smp, (int2)((alu2+4),0));
  float4 cast0 = (float4)(0.0f,0.0f,0.0f,0.0f);
  int alu3 = (alu0+128);
  bool alu4 = (idx1<7);
  float4 val6 = (alu4?read_imagef(data1_2x2048, smp, (int2)(alu3,0)):cast0);
  float4 val7 = read_imagef(data2_1x3072, smp, (int2)((alu2+5),0));
  int alu5 = (alu0+896);
  bool alu6 = (0<idx1);
  float4 val8 = (alu6?read_imagef(data1_2x2048, smp, (int2)(alu5,0)):cast0);
  float4 val9 = read_imagef(data2_1x3072, smp, (int2)((alu2+6),0));
  int alu7 = (alu0+1024);
  float4 val10 = read_imagef(data1_2x2048, smp, (int2)(alu7,0));
  float4 val11 = read_imagef(data2_1x3072, smp, (int2)((alu2+7),0));
  int alu8 = (alu0+1152);
  float4 val12 = read_imagef(data1_2x2048, smp, (int2)(alu8,0));
  float4 val13 = read_imagef(data2_1x3072, smp, (int2)((alu2+8),0));
  float4 val14 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  float4 val15 = read_imagef(data2_1x3072, smp, (int2)(alu2,0));
  float4 val16 = read_imagef(data1_2x2048, smp, (int2)(alu0,1));
  float4 val17 = read_imagef(data1_2x2048, smp, (int2)(alu1,1));
  float4 val18 = (alu4?read_imagef(data1_2x2048, smp, (int2)(alu3,1)):cast0);
  float4 val19 = (alu6?read_imagef(data1_2x2048, smp, (int2)(alu5,1)):cast0);
  float4 val20 = read_imagef(data1_2x2048, smp, (int2)(alu7,1));
  float4 val21 = read_imagef(data1_2x2048, smp, (int2)(alu8,1));
  write_imagef(data0_4x1024, (int2)(alu0,0), (float4)(((val1.x*val4.x)+(val0.x*val5.x)+(val6.x*val7.x)+(val8.x*val9.x)+(val10.x*val11.x)+(val12.x*val13.x)+val14.x),((val1.y*val4.y)+(val0.y*val5.y)+(val6.y*val7.y)+(val8.y*val9.y)+(val10.y*val11.y)+(val12.y*val13.y)+val14.y),((val1.z*val4.z)+(val0.z*val5.z)+(val6.z*val7.z)+(val8.z*val9.z)+(val10.z*val11.z)+(val12.z*val13.z)+val14.z),((val1.w*val4.w)+(val0.w*val5.w)+(val6.w*val7.w)+(val8.w*val9.w)+(val10.w*val11.w)+(val12.w*val13.w)+val14.w)));
  write_imagef(data0_4x1024, (int2)(alu0,1), (float4)(((val1.x*val15.x)+(val0.x*val2.x)+(val6.x*val3.x)+(val8.x*val4.x)+(val10.x*val5.x)+(val12.x*val7.x)+(val17.x*val9.x)+(val16.x*val11.x)+(val18.x*val13.x)+val14.x),((val1.y*val15.y)+(val0.y*val2.y)+(val6.y*val3.y)+(val8.y*val4.y)+(val10.y*val5.y)+(val12.y*val7.y)+(val17.y*val9.y)+(val16.y*val11.y)+(val18.y*val13.y)+val14.y),((val1.z*val15.z)+(val0.z*val2.z)+(val6.z*val3.z)+(val8.z*val4.z)+(val10.z*val5.z)+(val12.z*val7.z)+(val17.z*val9.z)+(val16.z*val11.z)+(val18.z*val13.z)+val14.z),((val1.w*val15.w)+(val0.w*val2.w)+(val6.w*val3.w)+(val8.w*val4.w)+(val10.w*val5.w)+(val12.w*val7.w)+(val17.w*val9.w)+(val16.w*val11.w)+(val18.w*val13.w)+val14.w)));
  write_imagef(data0_4x1024, (int2)(alu0,2), (float4)(((val8.x*val15.x)+(val10.x*val2.x)+(val12.x*val3.x)+(val17.x*val4.x)+(val16.x*val5.x)+(val18.x*val7.x)+(val19.x*val9.x)+(val20.x*val11.x)+(val21.x*val13.x)+val14.x),((val8.y*val15.y)+(val10.y*val2.y)+(val12.y*val3.y)+(val17.y*val4.y)+(val16.y*val5.y)+(val18.y*val7.y)+(val19.y*val9.y)+(val20.y*val11.y)+(val21.y*val13.y)+val14.y),((val8.z*val15.z)+(val10.z*val2.z)+(val12.z*val3.z)+(val17.z*val4.z)+(val16.z*val5.z)+(val18.z*val7.z)+(val19.z*val9.z)+(val20.z*val11.z)+(val21.z*val13.z)+val14.z),((val8.w*val15.w)+(val10.w*val2.w)+(val12.w*val3.w)+(val17.w*val4.w)+(val16.w*val5.w)+(val18.w*val7.w)+(val19.w*val9.w)+(val20.w*val11.w)+(val21.w*val13.w)+val14.w)));
  write_imagef(data0_4x1024, (int2)(alu0,3), (float4)(((val17.x*val15.x)+(val16.x*val2.x)+(val18.x*val3.x)+(val19.x*val4.x)+(val20.x*val5.x)+(val21.x*val7.x)+val14.x),((val17.y*val15.y)+(val16.y*val2.y)+(val18.y*val3.y)+(val19.y*val4.y)+(val20.y*val5.y)+(val21.y*val7.y)+val14.y),((val17.z*val15.z)+(val16.z*val2.z)+(val18.z*val3.z)+(val19.z*val4.z)+(val20.z*val5.z)+(val21.z*val7.z)+val14.z),((val17.w*val15.w)+(val16.w*val2.w)+(val18.w*val3.w)+(val19.w*val4.w)+(val20.w*val5.w)+(val21.w*val7.w)+val14.w)));
}

__kernel void r_8_128_4_4_7_7(write_only image2d_t data0_1x4128, read_only image2d_t data1_4x1024, read_only image2d_t data2_1x7168, read_only image2d_t data3_1x128) {
  int alu1 = (alu0+-384);
  int alu2 = (alu0+-256);
  int alu3 = (alu0+-128);
  int alu4 = (alu0+128);
  int alu5 = (alu0+256);
  int alu6 = (alu0+384);
    int alu23 = (Ridx0+-3);
    float4 val0 = read_imagef(data1_4x1024, smp, (int2)(alu1,alu23));
    int alu24 = ((idx0*56)+(Ridx0*7));
    float4 val1 = read_imagef(data2_1x7168, smp, (int2)(alu24,0));
    float4 val2 = read_imagef(data1_4x1024, smp, (int2)(alu2,alu23));
    float4 val3 = read_imagef(data2_1x7168, smp, (int2)((alu24+1),0));
    float4 val4 = read_imagef(data1_4x1024, smp, (int2)(alu3,alu23));
    float4 val5 = read_imagef(data2_1x7168, smp, (int2)((alu24+2),0));
    float4 val6 = read_imagef(data1_4x1024, smp, (int2)(alu0,alu23));
    float4 val7 = read_imagef(data2_1x7168, smp, (int2)((alu24+3),0));
    float4 val8 = read_imagef(data1_4x1024, smp, (int2)(alu4,alu23));
    float4 val9 = read_imagef(data2_1x7168, smp, (int2)((alu24+4),0));
    float4 val10 = read_imagef(data1_4x1024, smp, (int2)(alu5,alu23));
    float4 val11 = read_imagef(data2_1x7168, smp, (int2)((alu24+5),0));
    float4 val12 = read_imagef(data1_4x1024, smp, (int2)(alu6,alu23));
    float4 val13 = read_imagef(data2_1x7168, smp, (int2)((alu24+6),0));
    int alu25 = (Ridx0+-2);
    float4 val14 = read_imagef(data1_4x1024, smp, (int2)(alu0,alu25));
    float4 val15 = read_imagef(data1_4x1024, smp, (int2)(alu1,alu25));
    float4 val16 = read_imagef(data1_4x1024, smp, (int2)(alu2,alu25));
    float4 val17 = read_imagef(data1_4x1024, smp, (int2)(alu3,alu25));
    float4 val18 = read_imagef(data1_4x1024, smp, (int2)(alu4,alu25));
    float4 val19 = read_imagef(data1_4x1024, smp, (int2)(alu5,alu25));
    float4 val20 = read_imagef(data1_4x1024, smp, (int2)(alu6,alu25));
    int alu26 = (Ridx0+-1);
    float4 val21 = read_imagef(data1_4x1024, smp, (int2)(alu0,alu26));
    float4 val22 = read_imagef(data1_4x1024, smp, (int2)(alu1,alu26));
    float4 val23 = read_imagef(data1_4x1024, smp, (int2)(alu2,alu26));
    float4 val24 = read_imagef(data1_4x1024, smp, (int2)(alu3,alu26));
    float4 val25 = read_imagef(data1_4x1024, smp, (int2)(alu4,alu26));
    float4 val26 = read_imagef(data1_4x1024, smp, (int2)(alu5,alu26));
    float4 val27 = read_imagef(data1_4x1024, smp, (int2)(alu6,alu26));
    float4 val28 = read_imagef(data1_4x1024, smp, (int2)(alu0,Ridx0));
    float4 val29 = read_imagef(data1_4x1024, smp, (int2)(alu1,Ridx0));
    float4 val30 = read_imagef(data1_4x1024, smp, (int2)(alu2,Ridx0));
    float4 val31 = read_imagef(data1_4x1024, smp, (int2)(alu3,Ridx0));
    float4 val32 = read_imagef(data1_4x1024, smp, (int2)(alu4,Ridx0));
    float4 val33 = read_imagef(data1_4x1024, smp, (int2)(alu5,Ridx0));
    float4 val34 = read_imagef(data1_4x1024, smp, (int2)(alu6,Ridx0));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val1.x)+(val2.x*val3.x)+(val4.x*val5.x)+(val6.x*val7.x)+(val8.x*val9.x)+(val10.x*val11.x)+(val12.x*val13.x));
    *(acc0+1) = ((*(acc0+1))+(val15.x*val1.x)+(val16.x*val3.x)+(val17.x*val5.x)+(val14.x*val7.x)+(val18.x*val9.x)+(val19.x*val11.x)+(val20.x*val13.x));
    *(acc0+2) = ((*(acc0+2))+(val22.x*val1.x)+(val23.x*val3.x)+(val24.x*val5.x)+(val21.x*val7.x)+(val25.x*val9.x)+(val26.x*val11.x)+(val27.x*val13.x));
    *(acc0+3) = ((*(acc0+3))+(val29.x*val1.x)+(val30.x*val3.x)+(val31.x*val5.x)+(val28.x*val7.x)+(val32.x*val9.x)+(val33.x*val11.x)+(val34.x*val13.x));
    *(acc0+4) = ((*(acc0+4))+(val0.y*val1.y)+(val2.y*val3.y)+(val4.y*val5.y)+(val6.y*val7.y)+(val8.y*val9.y)+(val10.y*val11.y)+(val12.y*val13.y));
    *(acc0+5) = ((*(acc0+5))+(val15.y*val1.y)+(val16.y*val3.y)+(val17.y*val5.y)+(val14.y*val7.y)+(val18.y*val9.y)+(val19.y*val11.y)+(val20.y*val13.y));
    *(acc0+6) = ((*(acc0+6))+(val22.y*val1.y)+(val23.y*val3.y)+(val24.y*val5.y)+(val21.y*val7.y)+(val25.y*val9.y)+(val26.y*val11.y)+(val27.y*val13.y));
    *(acc0+7) = ((*(acc0+7))+(val29.y*val1.y)+(val30.y*val3.y)+(val31.y*val5.y)+(val28.y*val7.y)+(val32.y*val9.y)+(val33.y*val11.y)+(val34.y*val13.y));
    *(acc0+8) = ((*(acc0+8))+(val0.z*val1.z)+(val2.z*val3.z)+(val4.z*val5.z)+(val6.z*val7.z)+(val8.z*val9.z)+(val10.z*val11.z)+(val12.z*val13.z));
    *(acc0+9) = ((*(acc0+9))+(val15.z*val1.z)+(val16.z*val3.z)+(val17.z*val5.z)+(val14.z*val7.z)+(val18.z*val9.z)+(val19.z*val11.z)+(val20.z*val13.z));
    *(acc0+10) = ((*(acc0+10))+(val22.z*val1.z)+(val23.z*val3.z)+(val24.z*val5.z)+(val21.z*val7.z)+(val25.z*val9.z)+(val26.z*val11.z)+(val27.z*val13.z));
    *(acc0+11) = ((*(acc0+11))+(val29.z*val1.z)+(val30.z*val3.z)+(val31.z*val5.z)+(val28.z*val7.z)+(val32.z*val9.z)+(val33.z*val11.z)+(val34.z*val13.z));
    *(acc0+12) = ((*(acc0+12))+(val0.w*val1.w)+(val2.w*val3.w)+(val4.w*val5.w)+(val6.w*val7.w)+(val8.w*val9.w)+(val10.w*val11.w)+(val12.w*val13.w));
    *(acc0+13) = ((*(acc0+13))+(val15.w*val1.w)+(val16.w*val3.w)+(val17.w*val5.w)+(val14.w*val7.w)+(val18.w*val9.w)+(val19.w*val11.w)+(val20.w*val13.w));
    *(acc0+14) = ((*(acc0+14))+(val22.w*val1.w)+(val23.w*val3.w)+(val24.w*val5.w)+(val21.w*val7.w)+(val25.w*val9.w)+(val26.w*val11.w)+(val27.w*val13.w));
    *(acc0+15) = ((*(acc0+15))+(val29.w*val1.w)+(val30.w*val3.w)+(val31.w*val5.w)+(val28.w*val7.w)+(val32.w*val9.w)+(val33.w*val11.w)+(val34.w*val13.w));
  }
  float4 val35 = read_imagef(data3_1x128, smp, (int2)(idx0,0));
  int alu44 = (idx0+(idx1*129));
  write_imagef(data0_1x4128, (int2)(alu44,0), (float4)(((*(acc0+0))+val35.x),((*(acc0+4))+val35.y),((*(acc0+8))+val35.z),((*(acc0+12))+val35.w)));
  write_imagef(data0_1x4128, (int2)((alu44+1032),0), (float4)(((*(acc0+1))+val35.x),((*(acc0+5))+val35.y),((*(acc0+9))+val35.z),((*(acc0+13))+val35.w)));
  write_imagef(data0_1x4128, (int2)((alu44+2064),0), (float4)(((*(acc0+2))+val35.x),((*(acc0+6))+val35.y),((*(acc0+10))+val35.z),((*(acc0+14))+val35.w)));
  write_imagef(data0_1x4128, (int2)((alu44+3096),0), (float4)(((*(acc0+3))+val35.x),((*(acc0+7))+val35.y),((*(acc0+11))+val35.z),((*(acc0+15))+val35.w)));
}

__kernel void r_8_384_4_4_128_4(write_only image2d_t data0_1x12288, read_only image2d_t data1_1x4128, read_only image2d_t data2_384x576, read_only image2d_t data3_1x384) {
  int idx0 = get_global_id(0); /* 384 */
    float4 val4 = read_imagef(data2_384x576, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_384x576, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_384x576, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_384x576, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1x384, smp, (int2)(idx0,0));
  int alu51 = (idx0+(idx1*1536));
  write_imagef(data0_1x12288, (int2)(alu51,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)));
  write_imagef(data0_1x12288, (int2)((alu51+384),0), (float4)(((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42)));
  write_imagef(data0_1x12288, (int2)((alu51+768),0), (float4)(((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46)));
  write_imagef(data0_1x12288, (int2)((alu51+1152),0), (float4)(((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50)));
}

__kernel void r_8_128_4_4_384_4(write_only image2d_t data0_1x4096, read_only image2d_t data1_1x4096, read_only image2d_t data2_1x12288, read_only image2d_t data3_128x1536, read_only image2d_t data4_1x128, read_only image2d_t data5_1x128) {
  for (int Ridx0 = 0; Ridx0 < 384; Ridx0++) {
    int alu16 = ((idx1*1536)+Ridx0);
    float4 val0 = read_imagef(data2_1x12288, smp, (int2)((alu16+768),0));
    float4 val1 = read_imagef(data2_1x12288, smp, (int2)((alu16+1152),0));
    float4 val2 = read_imagef(data2_1x12288, smp, (int2)(alu16,0));
    float4 val3 = read_imagef(data3_128x1536, smp, (int2)((alu17+1),idx0));
    float4 val4 = read_imagef(data3_128x1536, smp, (int2)((alu17+2),idx0));
    float4 val5 = read_imagef(data3_128x1536, smp, (int2)((alu17+3),idx0));
    float4 val6 = read_imagef(data3_128x1536, smp, (int2)(alu17,idx0));
    float4 val7 = read_imagef(data2_1x12288, smp, (int2)((alu16+384),0));
  }
  int alu35 = (idx0+(idx1<<9));
  float4 val8 = read_imagef(data1_1x4096, smp, (int2)(alu35,0));
  float4 val9 = read_imagef(data4_1x128, smp, (int2)(idx0,0));
  float4 val10 = read_imagef(data5_1x128, smp, (int2)(idx0,0));
  int alu36 = (alu35+128);
  float4 val11 = read_imagef(data1_1x4096, smp, (int2)(alu36,0));
  int alu37 = (alu35+256);
  float4 val12 = read_imagef(data1_1x4096, smp, (int2)(alu37,0));
  int alu38 = (alu35+384);
  float4 val13 = read_imagef(data1_1x4096, smp, (int2)(alu38,0));
  write_imagef(data0_1x4096, (int2)(alu35,0), (float4)((val8.x+(((*(acc0+0))+val9.x)*val10.x)),(val8.y+(((*(acc0+4))+val9.y)*val10.y)),(val8.z+(((*(acc0+8))+val9.z)*val10.z)),(val8.w+(((*(acc0+12))+val9.w)*val10.w))));
  write_imagef(data0_1x4096, (int2)(alu36,0), (float4)((val11.x+(((*(acc0+1))+val9.x)*val10.x)),(val11.y+(((*(acc0+5))+val9.y)*val10.y)),(val11.z+(((*(acc0+9))+val9.z)*val10.z)),(val11.w+(((*(acc0+13))+val9.w)*val10.w))));
  write_imagef(data0_1x4096, (int2)(alu37,0), (float4)((val12.x+(((*(acc0+2))+val9.x)*val10.x)),(val12.y+(((*(acc0+6))+val9.y)*val10.y)),(val12.z+(((*(acc0+10))+val9.z)*val10.z)),(val12.w+(((*(acc0+14))+val9.w)*val10.w))));
  write_imagef(data0_1x4096, (int2)(alu38,0), (float4)((val13.x+(((*(acc0+3))+val9.x)*val10.x)),(val13.y+(((*(acc0+7))+val9.y)*val10.y)),(val13.z+(((*(acc0+11))+val9.z)*val10.z)),(val13.w+(((*(acc0+15))+val9.w)*val10.w))));
}

__kernel void r_128_2_4_4_2_4_3_3(write_only image2d_t data0_1x8192, read_only image2d_t data1_4x1024, __global half* data2_49152, __global half* data3_1024) {
  float acc0[128];
  *(acc0+16) = 0.0f;
  *(acc0+17) = 0.0f;
  *(acc0+18) = 0.0f;
  *(acc0+19) = 0.0f;
  *(acc0+20) = 0.0f;
  *(acc0+21) = 0.0f;
  *(acc0+22) = 0.0f;
  *(acc0+23) = 0.0f;
  *(acc0+24) = 0.0f;
  *(acc0+25) = 0.0f;
  *(acc0+26) = 0.0f;
  *(acc0+27) = 0.0f;
  *(acc0+28) = 0.0f;
  *(acc0+29) = 0.0f;
  *(acc0+30) = 0.0f;
  *(acc0+31) = 0.0f;
  *(acc0+32) = 0.0f;
  *(acc0+33) = 0.0f;
  *(acc0+34) = 0.0f;
  *(acc0+35) = 0.0f;
  *(acc0+36) = 0.0f;
  *(acc0+37) = 0.0f;
  *(acc0+38) = 0.0f;
  *(acc0+39) = 0.0f;
  *(acc0+40) = 0.0f;
  *(acc0+41) = 0.0f;
  *(acc0+42) = 0.0f;
  *(acc0+43) = 0.0f;
  *(acc0+44) = 0.0f;
  *(acc0+45) = 0.0f;
  *(acc0+46) = 0.0f;
  *(acc0+47) = 0.0f;
  *(acc0+48) = 0.0f;
  *(acc0+49) = 0.0f;
  *(acc0+50) = 0.0f;
  *(acc0+51) = 0.0f;
  *(acc0+52) = 0.0f;
  *(acc0+53) = 0.0f;
  *(acc0+54) = 0.0f;
  *(acc0+55) = 0.0f;
  *(acc0+56) = 0.0f;
  *(acc0+57) = 0.0f;
  *(acc0+58) = 0.0f;
  *(acc0+59) = 0.0f;
  *(acc0+60) = 0.0f;
  *(acc0+61) = 0.0f;
  *(acc0+62) = 0.0f;
  *(acc0+63) = 0.0f;
  *(acc0+64) = 0.0f;
  *(acc0+65) = 0.0f;
  *(acc0+66) = 0.0f;
  *(acc0+67) = 0.0f;
  *(acc0+68) = 0.0f;
  *(acc0+69) = 0.0f;
  *(acc0+70) = 0.0f;
  *(acc0+71) = 0.0f;
  *(acc0+72) = 0.0f;
  *(acc0+73) = 0.0f;
  *(acc0+74) = 0.0f;
  *(acc0+75) = 0.0f;
  *(acc0+76) = 0.0f;
  *(acc0+77) = 0.0f;
  *(acc0+78) = 0.0f;
  *(acc0+79) = 0.0f;
  *(acc0+80) = 0.0f;
  *(acc0+81) = 0.0f;
  *(acc0+82) = 0.0f;
  *(acc0+83) = 0.0f;
  *(acc0+84) = 0.0f;
  *(acc0+85) = 0.0f;
  *(acc0+86) = 0.0f;
  *(acc0+87) = 0.0f;
  *(acc0+88) = 0.0f;
  *(acc0+89) = 0.0f;
  *(acc0+90) = 0.0f;
  *(acc0+91) = 0.0f;
  *(acc0+92) = 0.0f;
  *(acc0+93) = 0.0f;
  *(acc0+94) = 0.0f;
  *(acc0+95) = 0.0f;
  *(acc0+96) = 0.0f;
  *(acc0+97) = 0.0f;
  *(acc0+98) = 0.0f;
  *(acc0+99) = 0.0f;
  *(acc0+100) = 0.0f;
  *(acc0+101) = 0.0f;
  *(acc0+102) = 0.0f;
  *(acc0+103) = 0.0f;
  *(acc0+104) = 0.0f;
  *(acc0+105) = 0.0f;
  *(acc0+106) = 0.0f;
  *(acc0+107) = 0.0f;
  *(acc0+108) = 0.0f;
  *(acc0+109) = 0.0f;
  *(acc0+110) = 0.0f;
  *(acc0+111) = 0.0f;
  *(acc0+112) = 0.0f;
  *(acc0+113) = 0.0f;
  *(acc0+114) = 0.0f;
  *(acc0+115) = 0.0f;
  *(acc0+116) = 0.0f;
  *(acc0+117) = 0.0f;
  *(acc0+118) = 0.0f;
  *(acc0+119) = 0.0f;
  *(acc0+120) = 0.0f;
  *(acc0+121) = 0.0f;
  *(acc0+122) = 0.0f;
  *(acc0+123) = 0.0f;
  *(acc0+124) = 0.0f;
  *(acc0+125) = 0.0f;
  *(acc0+126) = 0.0f;
  *(acc0+127) = 0.0f;
  for (int Ridx0 = 0; Ridx0 < 3; Ridx0++) {
    int alu128 = (Ridx0+-1);
    int alu129 = (Ridx0+1);
    int alu130 = (Ridx0+2);
    for (int Ridx1 = 0; Ridx1 < 3; Ridx1++) {
      int alu131 = (idx0+(Ridx1<<2)+(Ridx0*12)+(idx1*384));
      half val0 = (*(data2_49152+alu131));
      half val1 = (*(data2_49152+(alu131+96)));
      half val2 = (*(data2_49152+(alu131+192)));
      half val3 = (*(data2_49152+(alu131+288)));
      int alu132 = (idx1+(Ridx1<<7));
      float4 val4 = read_imagef(data1_4x1024, smp, (int2)(alu132,alu128));
      int alu133 = (alu132+-128);
      float4 val5 = read_imagef(data1_4x1024, smp, (int2)(alu133,alu128));
      int alu134 = (alu132+128);
      float4 val6 = read_imagef(data1_4x1024, smp, (int2)(alu134,alu128));
      int alu135 = (alu132+256);
      float4 val7 = read_imagef(data1_4x1024, smp, (int2)(alu135,alu128));
      int alu136 = (alu132+384);
      float4 val8 = read_imagef(data1_4x1024, smp, (int2)(alu136,alu128));
      int alu137 = (alu132+512);
      float4 val9 = read_imagef(data1_4x1024, smp, (int2)(alu137,alu128));
      int alu138 = (alu132+640);
      float4 val10 = read_imagef(data1_4x1024, smp, (int2)(alu138,alu128));
      int alu139 = (alu132+768);
      float4 val11 = read_imagef(data1_4x1024, smp, (int2)(alu139,alu128));
      float4 val12 = read_imagef(data1_4x1024, smp, (int2)(alu132,alu129));
      float4 val13 = read_imagef(data1_4x1024, smp, (int2)(alu133,alu129));
      float4 val14 = read_imagef(data1_4x1024, smp, (int2)(alu134,alu129));
      float4 val15 = read_imagef(data1_4x1024, smp, (int2)(alu135,alu129));
      float4 val16 = read_imagef(data1_4x1024, smp, (int2)(alu136,alu129));
      float4 val17 = read_imagef(data1_4x1024, smp, (int2)(alu137,alu129));
      float4 val18 = read_imagef(data1_4x1024, smp, (int2)(alu138,alu129));
      float4 val19 = read_imagef(data1_4x1024, smp, (int2)(alu139,alu129));
      float4 val20 = read_imagef(data1_4x1024, smp, (int2)(alu132,alu130));
      float4 val21 = read_imagef(data1_4x1024, smp, (int2)(alu133,alu130));
      float4 val22 = read_imagef(data1_4x1024, smp, (int2)(alu134,alu130));
      float4 val23 = read_imagef(data1_4x1024, smp, (int2)(alu135,alu130));
      float4 val24 = read_imagef(data1_4x1024, smp, (int2)(alu136,alu130));
      float4 val25 = read_imagef(data1_4x1024, smp, (int2)(alu137,alu130));
      float4 val26 = read_imagef(data1_4x1024, smp, (int2)(alu138,alu130));
      float4 val27 = read_imagef(data1_4x1024, smp, (int2)(alu139,alu130));
      float4 val28 = read_imagef(data1_4x1024, smp, (int2)(alu132,Ridx0));
      float4 val29 = read_imagef(data1_4x1024, smp, (int2)(alu133,Ridx0));
      float4 val30 = read_imagef(data1_4x1024, smp, (int2)(alu134,Ridx0));
      float4 val31 = read_imagef(data1_4x1024, smp, (int2)(alu135,Ridx0));
      float4 val32 = read_imagef(data1_4x1024, smp, (int2)(alu136,Ridx0));
      float4 val33 = read_imagef(data1_4x1024, smp, (int2)(alu137,Ridx0));
      float4 val34 = read_imagef(data1_4x1024, smp, (int2)(alu138,Ridx0));
      float4 val35 = read_imagef(data1_4x1024, smp, (int2)(alu139,Ridx0));
      float cast0 = ((float)(val0));
      float cast1 = ((float)(val1));
      float cast2 = ((float)(val2));
      float cast3 = ((float)(val3));
      *(acc0+0) = ((*(acc0+0))+(val5.x*cast0));
      *(acc0+1) = ((*(acc0+1))+(val29.x*cast0));
      *(acc0+2) = ((*(acc0+2))+(val13.x*cast0));
      *(acc0+3) = ((*(acc0+3))+(val21.x*cast0));
      *(acc0+4) = ((*(acc0+4))+(val8.x*cast0));
      *(acc0+5) = ((*(acc0+5))+(val32.x*cast0));
      *(acc0+6) = ((*(acc0+6))+(val16.x*cast0));
      *(acc0+7) = ((*(acc0+7))+(val24.x*cast0));
      *(acc0+8) = ((*(acc0+8))+(val4.x*cast0));
      *(acc0+9) = ((*(acc0+9))+(val28.x*cast0));
      *(acc0+10) = ((*(acc0+10))+(val12.x*cast0));
      *(acc0+11) = ((*(acc0+11))+(val20.x*cast0));
      *(acc0+12) = ((*(acc0+12))+(val9.x*cast0));
      *(acc0+13) = ((*(acc0+13))+(val33.x*cast0));
      *(acc0+14) = ((*(acc0+14))+(val17.x*cast0));
      *(acc0+15) = ((*(acc0+15))+(val25.x*cast0));
      *(acc0+16) = ((*(acc0+16))+(val6.x*cast0));
      *(acc0+17) = ((*(acc0+17))+(val30.x*cast0));
      *(acc0+18) = ((*(acc0+18))+(val14.x*cast0));
      *(acc0+19) = ((*(acc0+19))+(val22.x*cast0));
      *(acc0+20) = ((*(acc0+20))+(val10.x*cast0));
      *(acc0+21) = ((*(acc0+21))+(val34.x*cast0));
      *(acc0+22) = ((*(acc0+22))+(val18.x*cast0));
      *(acc0+23) = ((*(acc0+23))+(val26.x*cast0));
      *(acc0+24) = ((*(acc0+24))+(val7.x*cast0));
      *(acc0+25) = ((*(acc0+25))+(val31.x*cast0));
      *(acc0+26) = ((*(acc0+26))+(val15.x*cast0));
      *(acc0+27) = ((*(acc0+27))+(val23.x*cast0));
      *(acc0+28) = ((*(acc0+28))+(val11.x*cast0));
      *(acc0+29) = ((*(acc0+29))+(val35.x*cast0));
      *(acc0+30) = ((*(acc0+30))+(val19.x*cast0));
      *(acc0+31) = ((*(acc0+31))+(val27.x*cast0));
      *(acc0+32) = ((*(acc0+32))+(val5.y*cast1));
      *(acc0+33) = ((*(acc0+33))+(val29.y*cast1));
      *(acc0+34) = ((*(acc0+34))+(val13.y*cast1));
      *(acc0+35) = ((*(acc0+35))+(val21.y*cast1));
      *(acc0+36) = ((*(acc0+36))+(val8.y*cast1));
      *(acc0+37) = ((*(acc0+37))+(val32.y*cast1));
      *(acc0+38) = ((*(acc0+38))+(val16.y*cast1));
      *(acc0+39) = ((*(acc0+39))+(val24.y*cast1));
      *(acc0+40) = ((*(acc0+40))+(val4.y*cast1));
      *(acc0+41) = ((*(acc0+41))+(val28.y*cast1));
      *(acc0+42) = ((*(acc0+42))+(val12.y*cast1));
      *(acc0+43) = ((*(acc0+43))+(val20.y*cast1));
      *(acc0+44) = ((*(acc0+44))+(val9.y*cast1));
      *(acc0+45) = ((*(acc0+45))+(val33.y*cast1));
      *(acc0+46) = ((*(acc0+46))+(val17.y*cast1));
      *(acc0+47) = ((*(acc0+47))+(val25.y*cast1));
      *(acc0+48) = ((*(acc0+48))+(val6.y*cast1));
      *(acc0+49) = ((*(acc0+49))+(val30.y*cast1));
      *(acc0+50) = ((*(acc0+50))+(val14.y*cast1));
      *(acc0+51) = ((*(acc0+51))+(val22.y*cast1));
      *(acc0+52) = ((*(acc0+52))+(val10.y*cast1));
      *(acc0+53) = ((*(acc0+53))+(val34.y*cast1));
      *(acc0+54) = ((*(acc0+54))+(val18.y*cast1));
      *(acc0+55) = ((*(acc0+55))+(val26.y*cast1));
      *(acc0+56) = ((*(acc0+56))+(val7.y*cast1));
      *(acc0+57) = ((*(acc0+57))+(val31.y*cast1));
      *(acc0+58) = ((*(acc0+58))+(val15.y*cast1));
      *(acc0+59) = ((*(acc0+59))+(val23.y*cast1));
      *(acc0+60) = ((*(acc0+60))+(val11.y*cast1));
      *(acc0+61) = ((*(acc0+61))+(val35.y*cast1));
      *(acc0+62) = ((*(acc0+62))+(val19.y*cast1));
      *(acc0+63) = ((*(acc0+63))+(val27.y*cast1));
      *(acc0+64) = ((*(acc0+64))+(val5.z*cast2));
      *(acc0+65) = ((*(acc0+65))+(val29.z*cast2));
      *(acc0+66) = ((*(acc0+66))+(val13.z*cast2));
      *(acc0+67) = ((*(acc0+67))+(val21.z*cast2));
      *(acc0+68) = ((*(acc0+68))+(val8.z*cast2));
      *(acc0+69) = ((*(acc0+69))+(val32.z*cast2));
      *(acc0+70) = ((*(acc0+70))+(val16.z*cast2));
      *(acc0+71) = ((*(acc0+71))+(val24.z*cast2));
      *(acc0+72) = ((*(acc0+72))+(val4.z*cast2));
      *(acc0+73) = ((*(acc0+73))+(val28.z*cast2));
      *(acc0+74) = ((*(acc0+74))+(val12.z*cast2));
      *(acc0+75) = ((*(acc0+75))+(val20.z*cast2));
      *(acc0+76) = ((*(acc0+76))+(val9.z*cast2));
      *(acc0+77) = ((*(acc0+77))+(val33.z*cast2));
      *(acc0+78) = ((*(acc0+78))+(val17.z*cast2));
      *(acc0+79) = ((*(acc0+79))+(val25.z*cast2));
      *(acc0+80) = ((*(acc0+80))+(val6.z*cast2));
      *(acc0+81) = ((*(acc0+81))+(val30.z*cast2));
      *(acc0+82) = ((*(acc0+82))+(val14.z*cast2));
      *(acc0+83) = ((*(acc0+83))+(val22.z*cast2));
      *(acc0+84) = ((*(acc0+84))+(val10.z*cast2));
      *(acc0+85) = ((*(acc0+85))+(val34.z*cast2));
      *(acc0+86) = ((*(acc0+86))+(val18.z*cast2));
      *(acc0+87) = ((*(acc0+87))+(val26.z*cast2));
      *(acc0+88) = ((*(acc0+88))+(val7.z*cast2));
      *(acc0+89) = ((*(acc0+89))+(val31.z*cast2));
      *(acc0+90) = ((*(acc0+90))+(val15.z*cast2));
      *(acc0+91) = ((*(acc0+91))+(val23.z*cast2));
      *(acc0+92) = ((*(acc0+92))+(val11.z*cast2));
      *(acc0+93) = ((*(acc0+93))+(val35.z*cast2));
      *(acc0+94) = ((*(acc0+94))+(val19.z*cast2));
      *(acc0+95) = ((*(acc0+95))+(val27.z*cast2));
      *(acc0+96) = ((*(acc0+96))+(val5.w*cast3));
      *(acc0+97) = ((*(acc0+97))+(val29.w*cast3));
      *(acc0+98) = ((*(acc0+98))+(val13.w*cast3));
      *(acc0+99) = ((*(acc0+99))+(val21.w*cast3));
      *(acc0+100) = ((*(acc0+100))+(val8.w*cast3));
      *(acc0+101) = ((*(acc0+101))+(val32.w*cast3));
      *(acc0+102) = ((*(acc0+102))+(val16.w*cast3));
      *(acc0+103) = ((*(acc0+103))+(val24.w*cast3));
      *(acc0+104) = ((*(acc0+104))+(val4.w*cast3));
      *(acc0+105) = ((*(acc0+105))+(val28.w*cast3));
      *(acc0+106) = ((*(acc0+106))+(val12.w*cast3));
      *(acc0+107) = ((*(acc0+107))+(val20.w*cast3));
      *(acc0+108) = ((*(acc0+108))+(val9.w*cast3));
      *(acc0+109) = ((*(acc0+109))+(val33.w*cast3));
      *(acc0+110) = ((*(acc0+110))+(val17.w*cast3));
      *(acc0+111) = ((*(acc0+111))+(val25.w*cast3));
      *(acc0+112) = ((*(acc0+112))+(val6.w*cast3));
      *(acc0+113) = ((*(acc0+113))+(val30.w*cast3));
      *(acc0+114) = ((*(acc0+114))+(val14.w*cast3));
      *(acc0+115) = ((*(acc0+115))+(val22.w*cast3));
      *(acc0+116) = ((*(acc0+116))+(val10.w*cast3));
      *(acc0+117) = ((*(acc0+117))+(val34.w*cast3));
      *(acc0+118) = ((*(acc0+118))+(val18.w*cast3));
      *(acc0+119) = ((*(acc0+119))+(val26.w*cast3));
      *(acc0+120) = ((*(acc0+120))+(val7.w*cast3));
      *(acc0+121) = ((*(acc0+121))+(val31.w*cast3));
      *(acc0+122) = ((*(acc0+122))+(val15.w*cast3));
      *(acc0+123) = ((*(acc0+123))+(val23.w*cast3));
      *(acc0+124) = ((*(acc0+124))+(val11.w*cast3));
      *(acc0+125) = ((*(acc0+125))+(val35.w*cast3));
      *(acc0+126) = ((*(acc0+126))+(val19.w*cast3));
      *(acc0+127) = ((*(acc0+127))+(val27.w*cast3));
    }
  }
  int alu270 = (idx0+(idx1<<3));
  half val36 = (*(data3_1024+alu270));
  half val37 = (*(data3_1024+(alu270+2)));
  half val38 = (*(data3_1024+(alu270+4)));
  half val39 = (*(data3_1024+(alu270+6)));
  float cast4 = ((float)(val36));
  float cast5 = ((float)(val37));
  float cast6 = ((float)(val38));
  float cast7 = ((float)(val39));
  int alu271 = ((idx0<<3)+(idx1<<6));
  write_imagef(data0_1x8192, (int2)((alu271+1),0), (float4)(((*(acc0+4))+cast4),((*(acc0+12))+cast4),((*(acc0+20))+cast4),((*(acc0+28))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+2),0), (float4)(((*(acc0+1))+cast4),((*(acc0+9))+cast4),((*(acc0+17))+cast4),((*(acc0+25))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+3),0), (float4)(((*(acc0+5))+cast4),((*(acc0+13))+cast4),((*(acc0+21))+cast4),((*(acc0+29))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+4),0), (float4)(((*(acc0+2))+cast4),((*(acc0+10))+cast4),((*(acc0+18))+cast4),((*(acc0+26))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+5),0), (float4)(((*(acc0+6))+cast4),((*(acc0+14))+cast4),((*(acc0+22))+cast4),((*(acc0+30))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+6),0), (float4)(((*(acc0+3))+cast4),((*(acc0+11))+cast4),((*(acc0+19))+cast4),((*(acc0+27))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+7),0), (float4)(((*(acc0+7))+cast4),((*(acc0+15))+cast4),((*(acc0+23))+cast4),((*(acc0+31))+cast4)));
  write_imagef(data0_1x8192, (int2)((alu271+16),0), (float4)(((*(acc0+32))+cast5),((*(acc0+40))+cast5),((*(acc0+48))+cast5),((*(acc0+56))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+17),0), (float4)(((*(acc0+36))+cast5),((*(acc0+44))+cast5),((*(acc0+52))+cast5),((*(acc0+60))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+18),0), (float4)(((*(acc0+33))+cast5),((*(acc0+41))+cast5),((*(acc0+49))+cast5),((*(acc0+57))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+19),0), (float4)(((*(acc0+37))+cast5),((*(acc0+45))+cast5),((*(acc0+53))+cast5),((*(acc0+61))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+20),0), (float4)(((*(acc0+34))+cast5),((*(acc0+42))+cast5),((*(acc0+50))+cast5),((*(acc0+58))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+21),0), (float4)(((*(acc0+38))+cast5),((*(acc0+46))+cast5),((*(acc0+54))+cast5),((*(acc0+62))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+22),0), (float4)(((*(acc0+35))+cast5),((*(acc0+43))+cast5),((*(acc0+51))+cast5),((*(acc0+59))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+23),0), (float4)(((*(acc0+39))+cast5),((*(acc0+47))+cast5),((*(acc0+55))+cast5),((*(acc0+63))+cast5)));
  write_imagef(data0_1x8192, (int2)((alu271+32),0), (float4)(((*(acc0+64))+cast6),((*(acc0+72))+cast6),((*(acc0+80))+cast6),((*(acc0+88))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+33),0), (float4)(((*(acc0+68))+cast6),((*(acc0+76))+cast6),((*(acc0+84))+cast6),((*(acc0+92))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+34),0), (float4)(((*(acc0+65))+cast6),((*(acc0+73))+cast6),((*(acc0+81))+cast6),((*(acc0+89))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+35),0), (float4)(((*(acc0+69))+cast6),((*(acc0+77))+cast6),((*(acc0+85))+cast6),((*(acc0+93))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+36),0), (float4)(((*(acc0+66))+cast6),((*(acc0+74))+cast6),((*(acc0+82))+cast6),((*(acc0+90))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+37),0), (float4)(((*(acc0+70))+cast6),((*(acc0+78))+cast6),((*(acc0+86))+cast6),((*(acc0+94))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+38),0), (float4)(((*(acc0+67))+cast6),((*(acc0+75))+cast6),((*(acc0+83))+cast6),((*(acc0+91))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+39),0), (float4)(((*(acc0+71))+cast6),((*(acc0+79))+cast6),((*(acc0+87))+cast6),((*(acc0+95))+cast6)));
  write_imagef(data0_1x8192, (int2)((alu271+48),0), (float4)(((*(acc0+96))+cast7),((*(acc0+104))+cast7),((*(acc0+112))+cast7),((*(acc0+120))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+49),0), (float4)(((*(acc0+100))+cast7),((*(acc0+108))+cast7),((*(acc0+116))+cast7),((*(acc0+124))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+50),0), (float4)(((*(acc0+97))+cast7),((*(acc0+105))+cast7),((*(acc0+113))+cast7),((*(acc0+121))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+51),0), (float4)(((*(acc0+101))+cast7),((*(acc0+109))+cast7),((*(acc0+117))+cast7),((*(acc0+125))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+52),0), (float4)(((*(acc0+98))+cast7),((*(acc0+106))+cast7),((*(acc0+114))+cast7),((*(acc0+122))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+53),0), (float4)(((*(acc0+102))+cast7),((*(acc0+110))+cast7),((*(acc0+118))+cast7),((*(acc0+126))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+54),0), (float4)(((*(acc0+99))+cast7),((*(acc0+107))+cast7),((*(acc0+115))+cast7),((*(acc0+123))+cast7)));
  write_imagef(data0_1x8192, (int2)((alu271+55),0), (float4)(((*(acc0+103))+cast7),((*(acc0+111))+cast7),((*(acc0+119))+cast7),((*(acc0+127))+cast7)));
  write_imagef(data0_1x8192, (int2)(alu271,0), (float4)(((*(acc0+0))+cast4),((*(acc0+8))+cast4),((*(acc0+16))+cast4),((*(acc0+24))+cast4)));
}

__kernel void r_256_4_8_4(write_only image2d_t data0_1x264, read_only image2d_t data1_1x8192) {
  float acc0[4];
  int idx0 = get_global_id(0); /* 256 */
  for (int Ridx0 = 0; Ridx0 < 8; Ridx0++) {
    int alu4 = ((idx0<<5)+Ridx0);
    float4 val0 = read_imagef(data1_1x8192, smp, (int2)((alu4+8),0));
    float4 val1 = read_imagef(data1_1x8192, smp, (int2)((alu4+16),0));
    float4 val2 = read_imagef(data1_1x8192, smp, (int2)((alu4+24),0));
    float4 val3 = read_imagef(data1_1x8192, smp, (int2)(alu4,0));
    *(acc0+0) = ((*(acc0+0))+val3.x+val3.y+val3.z+val3.w);
    *(acc0+1) = ((*(acc0+1))+val0.x+val0.y+val0.z+val0.w);
    *(acc0+2) = ((*(acc0+2))+val1.x+val1.y+val1.z+val1.w);
    *(acc0+3) = ((*(acc0+3))+val2.x+val2.y+val2.z+val2.w);
  }
  write_imagef(data0_1x264, (int2)(idx0,0), (float4)(((*(acc0+0))*0.03125f),((*(acc0+1))*0.03125f),((*(acc0+2))*0.03125f),((*(acc0+3))*0.03125f)));
}

__kernel void r_16_16_4_16_4(write_only image2d_t data0_1x24, read_only image2d_t data1_1x264, read_only image2d_t data2_16x1088, read_only image2d_t data3_1x16) {
  float acc1[4];
  __attribute__ ((aligned (16))) __local float temp0[64];
  int gidx0 = get_group_id(0); /* 16 */
  int lidx0 = get_local_id(0); /* 16 */
    float4 val0 = read_imagef(data1_1x264, smp, (int2)(((lidx0<<4)+Ridx0),0));
    int alu4 = ((lidx0<<6)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_16x1088, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_16x1088, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_16x1088, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_16x1088, smp, (int2)(alu4,gidx0));
    *(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));
  }
  *((__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 Ridx106 = 0; Ridx106 < 16; Ridx106++) {
    float4 val5 = (*((__local float4*)((temp0+(Ridx106<<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_1x16, 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);
  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);
  if ((lidx0==0)) {
    write_imagef(data0_1x24, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_256_4_16_4(write_only image2d_t data0_1x256, read_only image2d_t data1_1x24, read_only image2d_t data2_256x128, read_only image2d_t data3_1x256) {
    float4 val0 = read_imagef(data1_1x24, smp, (int2)(Ridx0,0));
    int alu4 = (Ridx0<<2);
    float4 val1 = read_imagef(data2_256x128, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_256x128, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_256x128, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_256x128, smp, (int2)(alu4,idx0));
  }
  float4 val5 = read_imagef(data3_1x256, smp, (int2)(idx0,0));
  write_imagef(data0_1x256, (int2)(idx0,0), (float4)((1/(1.0f+exp2((((*(acc0+0))+val5.x)*-1.4426950408889634f)))),(1/(1.0f+exp2((((*(acc0+1))+val5.y)*-1.4426950408889634f)))),(1/(1.0f+exp2((((*(acc0+2))+val5.z)*-1.4426950408889634f)))),(1/(1.0f+exp2((((*(acc0+3))+val5.w)*-1.4426950408889634f))))));
}

__kernel void r_256_4_8_4n1(write_only image2d_t data0_1x264, read_only image2d_t data1_1x8192, read_only image2d_t data2_1x256) {
  float4 val0 = read_imagef(data2_1x256, smp, (int2)(idx0,0));
    float4 val1 = read_imagef(data1_1x8192, smp, (int2)((alu4+8),0));
    float4 val2 = read_imagef(data1_1x8192, smp, (int2)((alu4+16),0));
    float4 val3 = read_imagef(data1_1x8192, smp, (int2)((alu4+24),0));
    float4 val4 = read_imagef(data1_1x8192, smp, (int2)(alu4,0));
    float alu5 = (val1.x*val0.y);
    float alu6 = (val2.x*val0.z);
    float alu7 = (val3.x*val0.w);
    float alu8 = (val4.x*val0.x);
    float alu9 = (val1.y*val0.y);
    float alu10 = (val2.y*val0.z);
    float alu11 = (val3.y*val0.w);
    float alu12 = (val4.y*val0.x);
    float alu13 = (val1.z*val0.y);
    float alu14 = (val2.z*val0.z);
    float alu15 = (val3.z*val0.w);
    float alu16 = (val4.z*val0.x);
    float alu17 = (val1.w*val0.y);
    float alu18 = (val2.w*val0.z);
    float alu19 = (val3.w*val0.w);
    float alu20 = (val4.w*val0.x);
    *(acc0+0) = ((*(acc0+0))+((1/(1.0f+exp2(((alu8+(0.044715f*alu8*alu8*alu8))*-2.302208198144325f))))*val4.x)+((1/(1.0f+exp2(((alu12+(0.044715f*alu12*alu12*alu12))*-2.302208198144325f))))*val4.y)+((1/(1.0f+exp2(((alu16+(0.044715f*alu16*alu16*alu16))*-2.302208198144325f))))*val4.z)+((1/(1.0f+exp2(((alu20+(0.044715f*alu20*alu20*alu20))*-2.302208198144325f))))*val4.w));
    *(acc0+1) = ((*(acc0+1))+((1/(1.0f+exp2(((alu5+(0.044715f*alu5*alu5*alu5))*-2.302208198144325f))))*val1.x)+((1/(1.0f+exp2(((alu9+(0.044715f*alu9*alu9*alu9))*-2.302208198144325f))))*val1.y)+((1/(1.0f+exp2(((alu13+(0.044715f*alu13*alu13*alu13))*-2.302208198144325f))))*val1.z)+((1/(1.0f+exp2(((alu17+(0.044715f*alu17*alu17*alu17))*-2.302208198144325f))))*val1.w));
    *(acc0+2) = ((*(acc0+2))+((1/(1.0f+exp2(((alu6+(0.044715f*alu6*alu6*alu6))*-2.302208198144325f))))*val2.x)+((1/(1.0f+exp2(((alu10+(0.044715f*alu10*alu10*alu10))*-2.302208198144325f))))*val2.y)+((1/(1.0f+exp2(((alu14+(0.044715f*alu14*alu14*alu14))*-2.302208198144325f))))*val2.z)+((1/(1.0f+exp2(((alu18+(0.044715f*alu18*alu18*alu18))*-2.302208198144325f))))*val2.w));
    *(acc0+3) = ((*(acc0+3))+((1/(1.0f+exp2(((alu7+(0.044715f*alu7*alu7*alu7))*-2.302208198144325f))))*val3.x)+((1/(1.0f+exp2(((alu11+(0.044715f*alu11*alu11*alu11))*-2.302208198144325f))))*val3.y)+((1/(1.0f+exp2(((alu15+(0.044715f*alu15*alu15*alu15))*-2.302208198144325f))))*val3.z)+((1/(1.0f+exp2(((alu19+(0.044715f*alu19*alu19*alu19))*-2.302208198144325f))))*val3.w));
  }
  write_imagef(data0_1x264, (int2)(idx0,0), (float4)(((*(acc0+0))*val0.x*0.03125f),((*(acc0+1))*val0.y*0.03125f),((*(acc0+2))*val0.z*0.03125f),((*(acc0+3))*val0.w*0.03125f)));
}

__kernel void r_512_4_256_4(write_only image2d_t data0_1x520, read_only image2d_t data1_1x264, read_only image2d_t data2_512x1088, read_only image2d_t data3_1x512) {
  int idx0 = get_global_id(0); /* 512 */
  for (int Ridx0 = 0; Ridx0 < 256; Ridx0++) {
    float4 val0 = read_imagef(data1_1x264, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data2_512x1088, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_512x1088, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_512x1088, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_512x1088, smp, (int2)(alu4,idx0));
  }
  float4 val5 = read_imagef(data3_1x512, smp, (int2)(idx0,0));
  write_imagef(data0_1x520, (int2)(idx0,0), (float4)(((*(acc0+0))+val5.x),((*(acc0+1))+val5.y),((*(acc0+2))+val5.z),((*(acc0+3))+val5.w)));
}

__kernel void r_128_16_4_32_4(write_only image2d_t data0_1x136, read_only image2d_t data1_1x520, read_only image2d_t data2_128x2112, read_only image2d_t data3_1x128) {
  int gidx0 = get_group_id(0); /* 128 */
    float4 val0 = read_imagef(data1_1x520, smp, (int2)(((lidx0<<5)+Ridx0),0));
    int alu4 = ((lidx0<<7)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_128x2112, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_128x2112, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_128x2112, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_128x2112, smp, (int2)(alu4,gidx0));
  }
  }
  float4 val6 = read_imagef(data3_1x128, smp, (int2)(gidx0,0));
    write_imagef(data0_1x136, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__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) {
    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));
  }
  float alu10 = ((*(acc0+0))+val5.x);
  float alu11 = ((*(acc0+1))+val5.y);
  float alu12 = ((*(acc0+2))+val5.z);
  float alu13 = ((*(acc0+3))+val5.w);
  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_1x136, read_only image2d_t data2_1x264, read_only image2d_t data3_128x1088, read_only image2d_t data4_1x128) {
    float4 val0 = read_imagef(data2_1x264, smp, (int2)(((lidx0<<4)+Ridx0),0));
    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));
  }
  }
  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_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) {
    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));
  }
  for (int Ridx105 = 0; Ridx105 < 16; Ridx105++) {
    float4 val5 = (*((__local float4*)((temp0+(Ridx105<<2)))));
  }
    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_16_8_4(__global float* data0_1, read_only image2d_t data1_1x128) {
  float acc0[1];
  float acc1[1];
  __attribute__ ((aligned (16))) __local float temp0[16];
    float4 val0 = read_imagef(data1_1x128, smp, (int2)(((lidx0<<3)+Ridx0),0));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val0.x)+(val0.y*val0.y)+(val0.z*val0.z)+(val0.w*val0.w));
  }
  *(temp0+lidx0) = (*(acc0+0));
  for (int Ridx102 = 0; Ridx102 < 16; Ridx102++) {
    float val1 = (*(temp0+Ridx102));
    *(acc1+0) = ((*(acc1+0))+val1);
  }
  float alu8 = sqrt((*(acc1+0)));
  float alu9 = ((alu8<0.0f)?0.0f:alu8);
    *(data0_1+0) = alu9;
  }
}

__kernel void E_128_4(write_only image2d_t data0_1x136, read_only image2d_t data1_1x128, __global float* data2_1) {
  float val0 = (*(data2_1+0));
  float4 val1 = read_imagef(data1_1x128, smp, (int2)(idx0,0));
  float alu0 = (1/val0);
  write_imagef(data0_1x136, (int2)(idx0,0), (float4)((val1.x*alu0),(val1.y*alu0),(val1.z*alu0),(val1.w*alu0)));
}

__kernel void r_16_16_4_8_4(write_only image2d_t data0_1x24, read_only image2d_t data1_1x136, read_only image2d_t data2_1x8320, read_only image2d_t data3_1x16) {
    int alu4 = ((lidx0<<5)+(Ridx0<<2)+(gidx0*520));
    float4 val1 = read_imagef(data2_1x8320, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1x8320, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1x8320, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1x8320, smp, (int2)(alu4,0));
  }
  }
  }
}

__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 */
    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_16_16_4_4(write_only image2d_t data0_1x24, read_only image2d_t data1_1x24, read_only image2d_t data2_1x1152, read_only image2d_t data3_1x16) {
  float4 val0 = read_imagef(data1_1x24, smp, (int2)(lidx0,0));
  int alu0 = (lidx0<<2);
  int alu1 = ((gidx0*72)+alu0);
  float4 val1 = read_imagef(data2_1x1152, smp, (int2)((alu1+1),0));
  float4 val2 = read_imagef(data2_1x1152, smp, (int2)((alu1+2),0));
  float4 val3 = read_imagef(data2_1x1152, smp, (int2)((alu1+3),0));
  float4 val4 = read_imagef(data2_1x1152, smp, (int2)(alu1,0));
  *((__local float4*)((temp0+alu0))) = (float4)(((val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w)),((val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w)),((val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w)),((val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w)));
    *(acc0+0) = ((*(acc0+0))+val5.x);
    *(acc0+1) = ((*(acc0+1))+val5.y);
    *(acc0+2) = ((*(acc0+2))+val5.z);
    *(acc0+3) = ((*(acc0+3))+val5.w);
  }
  float alu13 = ((*(acc0+0))+val6.x);
  float alu14 = ((*(acc0+1))+val6.y);
  float alu15 = ((*(acc0+2))+val6.z);
  float alu16 = ((*(acc0+3))+val6.w);
  float alu18 = ((0.0f<alu14)?alu14:0.0f);
  float alu19 = ((0.0f<alu15)?alu15:0.0f);
  float alu20 = ((0.0f<alu16)?alu16:0.0f);
    write_imagef(data0_1x24, (int2)(gidx0,0), (float4)(alu17,alu18,alu19,alu20));
  }
}

__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) {
  int idx0 = get_global_id(0); /* 8 */
    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_16_16_4_4n1(write_only image2d_t data0_1x24, read_only image2d_t data1_1x24, read_only image2d_t data2_1x24, read_only image2d_t data3_1x1152, read_only image2d_t data4_1x16) {
  float4 val0 = read_imagef(data2_1x24, smp, (int2)(lidx0,0));
  float4 val1 = read_imagef(data3_1x1152, smp, (int2)((alu1+1),0));
  float4 val2 = read_imagef(data3_1x1152, smp, (int2)((alu1+2),0));
  float4 val3 = read_imagef(data3_1x1152, smp, (int2)((alu1+3),0));
  float4 val4 = read_imagef(data3_1x1152, smp, (int2)(alu1,0));
  }
  float4 val6 = read_imagef(data1_1x24, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data4_1x16, smp, (int2)(gidx0,0));
  float alu13 = (val6.x+(*(acc0+0))+val7.x);
  float alu14 = (val6.y+(*(acc0+1))+val7.y);
  float alu15 = (val6.z+(*(acc0+2))+val7.z);
  float alu16 = (val6.w+(*(acc0+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_4_16_4_8_4(write_only image2d_t data0_1x8, read_only image2d_t data1_1x136, read_only image2d_t data2_1x2080, __global half* data3_16) {
  int gidx0 = get_group_id(0); /* 4 */
    float4 val1 = read_imagef(data2_1x2080, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1x2080, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1x2080, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1x2080, smp, (int2)(alu4,0));
  }
  }
  half4 val6 = (*((__global half4*)((data3_16+(gidx0<<2)))));
  float alu21 = ((*(acc1+0))+((float)(val6.x)));
  float alu22 = ((*(acc1+1))+((float)(val6.y)));
  float alu23 = ((*(acc1+2))+((float)(val6.z)));
  float alu24 = ((*(acc1+3))+((float)(val6.w)));
    write_imagef(data0_1x8, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_4_4_4_4(write_only image2d_t data0_1x8, read_only image2d_t data1_1x8, read_only image2d_t data2_1x96, __global half* data3_16) {
  for (int Ridx0 = 0; Ridx0 < 4; Ridx0++) {
    float4 val0 = read_imagef(data1_1x8, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data2_1x96, smp, (int2)((alu16+1),0));
    float4 val2 = read_imagef(data2_1x96, smp, (int2)((alu16+2),0));
    float4 val3 = read_imagef(data2_1x96, smp, (int2)((alu16+3),0));
    float4 val4 = read_imagef(data2_1x96, smp, (int2)((alu16+24),0));
    float4 val5 = read_imagef(data2_1x96, smp, (int2)((alu16+25),0));
    float4 val6 = read_imagef(data2_1x96, smp, (int2)((alu16+26),0));
    float4 val7 = read_imagef(data2_1x96, smp, (int2)((alu16+27),0));
    float4 val8 = read_imagef(data2_1x96, smp, (int2)((alu16+48),0));
    float4 val9 = read_imagef(data2_1x96, smp, (int2)((alu16+49),0));
    float4 val10 = read_imagef(data2_1x96, smp, (int2)((alu16+50),0));
    float4 val11 = read_imagef(data2_1x96, smp, (int2)((alu16+51),0));
    float4 val12 = read_imagef(data2_1x96, smp, (int2)((alu16+72),0));
    float4 val13 = read_imagef(data2_1x96, smp, (int2)((alu16+73),0));
    float4 val14 = read_imagef(data2_1x96, smp, (int2)((alu16+74),0));
    float4 val15 = read_imagef(data2_1x96, smp, (int2)((alu16+75),0));
    float4 val16 = read_imagef(data2_1x96, smp, (int2)(alu16,0));
    *(acc0+0) = ((*(acc0+0))+(val0.x*val16.x)+(val0.y*val16.y)+(val0.z*val16.z)+(val0.w*val16.w));
    *(acc0+1) = ((*(acc0+1))+(val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w));
    *(acc0+2) = ((*(acc0+2))+(val0.x*val8.x)+(val0.y*val8.y)+(val0.z*val8.z)+(val0.w*val8.w));
    *(acc0+3) = ((*(acc0+3))+(val0.x*val12.x)+(val0.y*val12.y)+(val0.z*val12.z)+(val0.w*val12.w));
    *(acc0+4) = ((*(acc0+4))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
    *(acc0+5) = ((*(acc0+5))+(val0.x*val5.x)+(val0.y*val5.y)+(val0.z*val5.z)+(val0.w*val5.w));
    *(acc0+6) = ((*(acc0+6))+(val0.x*val9.x)+(val0.y*val9.y)+(val0.z*val9.z)+(val0.w*val9.w));
    *(acc0+7) = ((*(acc0+7))+(val0.x*val13.x)+(val0.y*val13.y)+(val0.z*val13.z)+(val0.w*val13.w));
    *(acc0+8) = ((*(acc0+8))+(val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w));
    *(acc0+9) = ((*(acc0+9))+(val0.x*val6.x)+(val0.y*val6.y)+(val0.z*val6.z)+(val0.w*val6.w));
    *(acc0+10) = ((*(acc0+10))+(val0.x*val10.x)+(val0.y*val10.y)+(val0.z*val10.z)+(val0.w*val10.w));
    *(acc0+11) = ((*(acc0+11))+(val0.x*val14.x)+(val0.y*val14.y)+(val0.z*val14.z)+(val0.w*val14.w));
    *(acc0+12) = ((*(acc0+12))+(val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w));
    *(acc0+13) = ((*(acc0+13))+(val0.x*val7.x)+(val0.y*val7.y)+(val0.z*val7.z)+(val0.w*val7.w));
    *(acc0+14) = ((*(acc0+14))+(val0.x*val11.x)+(val0.y*val11.y)+(val0.z*val11.z)+(val0.w*val11.w));
    *(acc0+15) = ((*(acc0+15))+(val0.x*val15.x)+(val0.y*val15.y)+(val0.z*val15.z)+(val0.w*val15.w));
  }
  half4 val17 = (*((__global half4*)((data3_16+0))));
  half4 val18 = (*((__global half4*)((data3_16+4))));
  half4 val19 = (*((__global half4*)((data3_16+8))));
  half4 val20 = (*((__global half4*)((data3_16+12))));
  float alu34 = ((*(acc0+0))+((float)(val17.x)));
  float alu35 = ((*(acc0+4))+((float)(val17.y)));
  float alu36 = ((*(acc0+8))+((float)(val17.z)));
  float alu37 = ((*(acc0+12))+((float)(val17.w)));
  float alu38 = ((0.0f<alu34)?alu34:0.0f);
  float alu39 = ((0.0f<alu35)?alu35:0.0f);
  float alu40 = ((0.0f<alu36)?alu36:0.0f);
  float alu41 = ((0.0f<alu37)?alu37:0.0f);
  float alu42 = ((*(acc0+1))+((float)(val18.x)));
  float alu43 = ((*(acc0+5))+((float)(val18.y)));
  float alu44 = ((*(acc0+9))+((float)(val18.z)));
  float alu45 = ((*(acc0+13))+((float)(val18.w)));
  float alu46 = ((0.0f<alu42)?alu42:0.0f);
  float alu47 = ((0.0f<alu43)?alu43:0.0f);
  float alu48 = ((0.0f<alu44)?alu44:0.0f);
  float alu49 = ((0.0f<alu45)?alu45:0.0f);
  float alu50 = ((*(acc0+2))+((float)(val19.x)));
  float alu51 = ((*(acc0+6))+((float)(val19.y)));
  float alu52 = ((*(acc0+10))+((float)(val19.z)));
  float alu53 = ((*(acc0+14))+((float)(val19.w)));
  float alu54 = ((0.0f<alu50)?alu50:0.0f);
  float alu55 = ((0.0f<alu51)?alu51:0.0f);
  float alu56 = ((0.0f<alu52)?alu52:0.0f);
  float alu57 = ((0.0f<alu53)?alu53:0.0f);
  float alu58 = ((*(acc0+3))+((float)(val20.x)));
  float alu59 = ((*(acc0+7))+((float)(val20.y)));
  float alu60 = ((*(acc0+11))+((float)(val20.z)));
  float alu61 = ((*(acc0+15))+((float)(val20.w)));
  float alu62 = ((0.0f<alu58)?alu58:0.0f);
  float alu63 = ((0.0f<alu59)?alu59:0.0f);
  float alu64 = ((0.0f<alu60)?alu60:0.0f);
  float alu65 = ((0.0f<alu61)?alu61:0.0f);
  write_imagef(data0_1x8, (int2)(0,0), (float4)(alu38,alu39,alu40,alu41));
  write_imagef(data0_1x8, (int2)(1,0), (float4)(alu46,alu47,alu48,alu49));
  write_imagef(data0_1x8, (int2)(2,0), (float4)(alu54,alu55,alu56,alu57));
  write_imagef(data0_1x8, (int2)(3,0), (float4)(alu62,alu63,alu64,alu65));
}

__kernel void r_4_4_4_4n1(write_only image2d_t data0_1x8, read_only image2d_t data1_1x8, read_only image2d_t data2_1x8, read_only image2d_t data3_1x96, __global half* data4_16) {
    float4 val0 = read_imagef(data2_1x8, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data3_1x96, smp, (int2)((alu16+1),0));
    float4 val2 = read_imagef(data3_1x96, smp, (int2)((alu16+2),0));
    float4 val3 = read_imagef(data3_1x96, smp, (int2)((alu16+3),0));
    float4 val4 = read_imagef(data3_1x96, smp, (int2)((alu16+24),0));
    float4 val5 = read_imagef(data3_1x96, smp, (int2)((alu16+25),0));
    float4 val6 = read_imagef(data3_1x96, smp, (int2)((alu16+26),0));
    float4 val7 = read_imagef(data3_1x96, smp, (int2)((alu16+27),0));
    float4 val8 = read_imagef(data3_1x96, smp, (int2)((alu16+48),0));
    float4 val9 = read_imagef(data3_1x96, smp, (int2)((alu16+49),0));
    float4 val10 = read_imagef(data3_1x96, smp, (int2)((alu16+50),0));
    float4 val11 = read_imagef(data3_1x96, smp, (int2)((alu16+51),0));
    float4 val12 = read_imagef(data3_1x96, smp, (int2)((alu16+72),0));
    float4 val13 = read_imagef(data3_1x96, smp, (int2)((alu16+73),0));
    float4 val14 = read_imagef(data3_1x96, smp, (int2)((alu16+74),0));
    float4 val15 = read_imagef(data3_1x96, smp, (int2)((alu16+75),0));
    float4 val16 = read_imagef(data3_1x96, smp, (int2)(alu16,0));
  }
  half4 val17 = (*((__global half4*)((data4_16+0))));
  half4 val18 = (*((__global half4*)((data4_16+4))));
  half4 val19 = (*((__global half4*)((data4_16+8))));
  half4 val20 = (*((__global half4*)((data4_16+12))));
  float4 val21 = read_imagef(data1_1x8, smp, (int2)(0,0));
  float4 val22 = read_imagef(data1_1x8, smp, (int2)(1,0));
  float4 val23 = read_imagef(data1_1x8, smp, (int2)(2,0));
  float4 val24 = read_imagef(data1_1x8, smp, (int2)(3,0));
  float alu34 = (val21.x+(*(acc0+0))+((float)(val17.x)));
  float alu35 = (val21.y+(*(acc0+4))+((float)(val17.y)));
  float alu36 = (val21.z+(*(acc0+8))+((float)(val17.z)));
  float alu37 = (val21.w+(*(acc0+12))+((float)(val17.w)));
  float alu42 = (val22.x+(*(acc0+1))+((float)(val18.x)));
  float alu43 = (val22.y+(*(acc0+5))+((float)(val18.y)));
  float alu44 = (val22.z+(*(acc0+9))+((float)(val18.z)));
  float alu45 = (val22.w+(*(acc0+13))+((float)(val18.w)));
  float alu50 = (val23.x+(*(acc0+2))+((float)(val19.x)));
  float alu51 = (val23.y+(*(acc0+6))+((float)(val19.y)));
  float alu52 = (val23.z+(*(acc0+10))+((float)(val19.z)));
  float alu53 = (val23.w+(*(acc0+14))+((float)(val19.w)));
  float alu58 = (val24.x+(*(acc0+3))+((float)(val20.x)));
  float alu59 = (val24.y+(*(acc0+7))+((float)(val20.y)));
  float alu60 = (val24.z+(*(acc0+11))+((float)(val20.z)));
  float alu61 = (val24.w+(*(acc0+15))+((float)(val20.w)));
}

__kernel void r_1576_16_8_8_8_8_16_4_8_16_4_4_4_4_4_4_4_4_4_4_4(__global float* data0_1576, read_only image2d_t data1_1x24, read_only image2d_t data2_1x1008, __global half* data3_55, read_only image2d_t data4_1x16, read_only image2d_t data5_5x64, __global half* data6_32, read_only image2d_t data7_1x16, read_only image2d_t data8_1x120, __global half* data9_12, read_only image2d_t data10_1x16, read_only image2d_t data11_1x80, __global half* data12_6, read_only image2d_t data13_1x16, read_only image2d_t data14_1x120, __global half* data15_12, read_only image2d_t data16_1x24, read_only image2d_t data17_1x9504, __global half* data18_528, read_only image2d_t data19_1x8, read_only image2d_t data20_1x48, __global half* data21_8, read_only image2d_t data22_1x16, read_only image2d_t data23_1x2640, __global half* data24_264, read_only image2d_t data25_1x24, read_only image2d_t data26_1x2592, __global half* data27_144, __global half* data28_144, read_only image2d_t data29_1x8, read_only image2d_t data30_1x24, __global half* data31_3, __global float* data32_512, __global float* data33_1) {
  float acc2[1];
  float acc3[1];
  float acc4[1];
  float acc5[1];
  float acc6[1];
  float acc7[1];
  float acc8[1];
  float acc9[1];
  int idx0 = get_global_id(0); /* 1576 */
  bool alu0 = (idx0<55);
  *(acc9+0) = 0.0f;
    float4 val1 = (alu0?read_imagef(data2_1x1008, smp, (int2)((((idx0>>2)*72)+(Ridx0<<2)+(idx0&3)),0)):cast0);
    *(acc9+0) = ((*(acc9+0))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
  }
  int alu4 = (idx0+1);
  int alu5 = (alu4>>2);
  int alu6 = (alu4&3);
  *(acc8+0) = 0.0f;
  for (int Ridx2 = 0; Ridx2 < 8; Ridx2++) {
    float4 val2 = read_imagef(data4_1x16, smp, (int2)(Ridx2,0));
    int alu8 = ((alu5*10)+Ridx2+4);
    float4 val3 = read_imagef(data5_5x64, smp, (int2)((((alu8&15)<<2)+alu6),((alu8>>4)+-9)));
    *(acc8+0) = ((*(acc8+0))+(val2.x*val3.x)+(val2.y*val3.y)+(val2.z*val3.z)+(val2.w*val3.w));
  }
  int alu11 = (alu5*40);
  bool alu12 = ((86<idx0)&(idx0<99));
  *(acc7+0) = 0.0f;
  for (int Ridx4 = 0; Ridx4 < 8; Ridx4++) {
    float4 val4 = read_imagef(data7_1x16, smp, (int2)(Ridx4,0));
    float4 val5 = (alu12?read_imagef(data8_1x120, smp, (int2)(((Ridx4<<2)+alu6+alu11+-880),0)):cast0);
    *(acc7+0) = ((*(acc7+0))+(val4.x*val5.x)+(val4.y*val5.y)+(val4.z*val5.z)+(val4.w*val5.w));
  }
  bool alu16 = ((98<idx0)&(idx0<105));
  *(acc6+0) = 0.0f;
  for (int Ridx6 = 0; Ridx6 < 8; Ridx6++) {
    float4 val6 = read_imagef(data10_1x16, smp, (int2)(Ridx6,0));
    float4 val7 = (alu16?read_imagef(data11_1x80, smp, (int2)(((Ridx6<<2)+alu6+alu11+-1000),0)):cast0);
    *(acc6+0) = ((*(acc6+0))+(val6.x*val7.x)+(val6.y*val7.y)+(val6.z*val7.z)+(val6.w*val7.w));
  }
  int alu20 = (idx0+3);
  int alu21 = (alu20>>2);
  int alu22 = (alu21*40);
  bool alu23 = ((104<idx0)&(idx0<117));
  int alu24 = (alu20&3);
  *(acc5+0) = 0.0f;
  for (int Ridx8 = 0; Ridx8 < 8; Ridx8++) {
    float4 val8 = read_imagef(data13_1x16, smp, (int2)(Ridx8,0));
    float4 val9 = (alu23?read_imagef(data14_1x120, smp, (int2)(((Ridx8<<2)+alu24+alu22+-1080),0)):cast0);
    *(acc5+0) = ((*(acc5+0))+(val8.x*val9.x)+(val8.y*val9.y)+(val8.z*val9.z)+(val8.w*val9.w));
  }
  int alu28 = (alu21*72);
  bool alu29 = ((116<idx0)&(idx0<645));
  *(acc4+0) = 0.0f;
  for (int Ridx10 = 0; Ridx10 < 16; Ridx10++) {
    float4 val10 = read_imagef(data16_1x24, smp, (int2)(Ridx10,0));
    float4 val11 = (alu29?read_imagef(data17_1x9504, smp, (int2)(((Ridx10<<2)+alu24+alu28+-2160),0)):cast0);
    *(acc4+0) = ((*(acc4+0))+(val10.x*val11.x)+(val10.y*val11.y)+(val10.z*val11.z)+(val10.w*val11.w));
  }
  bool alu33 = ((644<idx0)&(idx0<653));
  *(acc3+0) = 0.0f;
  for (int Ridx12 = 0; Ridx12 < 4; Ridx12++) {
    float4 val12 = read_imagef(data19_1x8, smp, (int2)(Ridx12,0));
    float4 val13 = (alu33?read_imagef(data20_1x48, smp, (int2)(((Ridx12<<2)+alu24+(alu21*24)+-3888),0)):cast0);
    *(acc3+0) = ((*(acc3+0))+(val12.x*val13.x)+(val12.y*val13.y)+(val12.z*val13.z)+(val12.w*val13.w));
  }
  bool alu37 = ((652<idx0)&(idx0<917));
  *(acc2+0) = 0.0f;
  for (int Ridx14 = 0; Ridx14 < 8; Ridx14++) {
    float4 val14 = read_imagef(data22_1x16, smp, (int2)(Ridx14,0));
    float4 val15 = (alu37?read_imagef(data23_1x2640, smp, (int2)(((Ridx14<<2)+alu24+alu22+-6560),0)):cast0);
    *(acc2+0) = ((*(acc2+0))+(val14.x*val15.x)+(val14.y*val15.y)+(val14.z*val15.z)+(val14.w*val15.w));
  }
  bool alu41 = ((916<idx0)&(idx0<1061));
  for (int Ridx16 = 0; Ridx16 < 16; Ridx16++) {
    float4 val16 = read_imagef(data25_1x24, smp, (int2)(Ridx16,0));
    float4 val17 = (alu41?read_imagef(data26_1x2592, smp, (int2)(((Ridx16<<2)+alu24+alu28+-16560),0)):cast0);
    *(acc1+0) = ((*(acc1+0))+(val16.x*val17.x)+(val16.y*val17.y)+(val16.z*val17.z)+(val16.w*val17.w));
  }
  bool alu45 = (idx0<1064);
  bool alu46 = ((1060<idx0)&alu45);
  for (int Ridx18 = 0; Ridx18 < 4; Ridx18++) {
    float4 val18 = read_imagef(data29_1x8, smp, (int2)(Ridx18,0));
    float4 val19 = (alu46?read_imagef(data30_1x24, smp, (int2)((idx0+(Ridx18<<2)+-1061),0)):cast0);
    *(acc0+0) = ((*(acc0+0))+(val18.x*val19.x)+(val18.y*val19.y)+(val18.z*val19.z)+(val18.w*val19.w));
  }
  half val20 = (alu0?*(data3_55+idx0):((half)(0.0f)));
  bool alu50 = ((54<idx0)&(idx0<87));
  half val21 = (alu50?*(data6_32+(idx0+-55)):((half)(0.0f)));
  half val22 = (alu12?*(data9_12+(idx0+-87)):((half)(0.0f)));
  half val23 = (alu16?*(data12_6+(idx0+-99)):((half)(0.0f)));
  half val24 = (alu23?*(data15_12+(idx0+-105)):((half)(0.0f)));
  half val25 = (alu29?*(data18_528+(idx0+-117)):((half)(0.0f)));
  half val26 = (alu33?*(data21_8+(idx0+-645)):((half)(0.0f)));
  half val27 = (alu37?*(data24_264+(idx0+-653)):((half)(0.0f)));
  int alu51 = (idx0+-917);
  half val28 = (alu41?*(data27_144+alu51):((half)(0.0f)));
  half val29 = (alu41?*(data28_144+alu51):((half)(0.0f)));
  half val30 = (alu46?*(data31_3+(idx0+-1061)):((half)(0.0f)));
  float val31 = ((1063<idx0)?*(data32_512+(idx0+-1064)):0.0f);
  float val32 = (*(data33_1+0));
  float alu52 = (alu0?((*(acc9+0))+((float)(val20))):0.0f);
  float alu53 = (alu50?((*(acc8+0))+((float)(val21))):0.0f);
  float alu54 = (alu12?((*(acc7+0))+((float)(val22))):0.0f);
  float alu55 = (alu16?((*(acc6+0))+((float)(val23))):0.0f);
  float alu56 = (alu23?((*(acc5+0))+((float)(val24))):0.0f);
  float alu57 = (alu29?((*(acc4+0))+((float)(val25))):0.0f);
  float alu58 = (alu33?((*(acc3+0))+((float)(val26))):0.0f);
  float alu59 = (alu37?((*(acc2+0))+((float)(val27))):0.0f);
  float alu60 = (alu41?(((*(acc1+0))+((float)(val28)))*((float)(val29))):0.0f);
  float alu61 = (alu46?((*(acc0+0))+((float)(val30))):0.0f);
  float alu62 = (alu45?0.0f:(val31*(1/val32)));
  *(data0_1576+idx0) = (alu52+alu53+alu54+alu55+alu56+alu57+alu58+alu59+alu60+alu61+alu62);
}