#pragma OPENCL EXTENSION cl_khr_fp16 : enable
__kernel void E_8192_3_4_2_4(write_only image2d_t data0_1024_192_4, __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/val34.x);
  half alu19 = (1/val34.y);
  half alu20 = (1/val34.z);
  half alu21 = (1/val34.w);
  half alu22 = (1/val35.x);
  half alu23 = (1/val35.y);
  half alu24 = (1/val35.z);
  half alu25 = (1/val35.w);
  int alu26 = (idx0+((idx1&7)*24));
  int alu27 = (idx1>>3);
  write_imagef(data0_1024_192_4, (int2)(alu26,alu27), (float4)(((float)(((((half)(val31))-val33.x)*alu22))),((float)(((((half)(val19))-val33.y)*alu23))),((float)(((((half)(val23))-val33.z)*alu24))),((float)(((((half)(val27))-val33.w)*alu25)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+3),alu27), (float4)(((float)(((((half)(val15))-val32.x)*alu18))),((float)(((((half)(val3))-val32.y)*alu19))),((float)(((((half)(val7))-val32.z)*alu20))),((float)(((((half)(val11))-val32.w)*alu21)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+6),alu27), (float4)(((float)(((((half)(val16))-val33.x)*alu22))),((float)(((((half)(val20))-val33.y)*alu23))),((float)(((((half)(val24))-val33.z)*alu24))),((float)(((((half)(val28))-val33.w)*alu25)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+9),alu27), (float4)(((float)(((((half)(val0))-val32.x)*alu18))),((float)(((((half)(val4))-val32.y)*alu19))),((float)(((((half)(val8))-val32.z)*alu20))),((float)(((((half)(val12))-val32.w)*alu21)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+12),alu27), (float4)(((float)(((((half)(val17))-val33.x)*alu22))),((float)(((((half)(val21))-val33.y)*alu23))),((float)(((((half)(val25))-val33.z)*alu24))),((float)(((((half)(val29))-val33.w)*alu25)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+15),alu27), (float4)(((float)(((((half)(val1))-val32.x)*alu18))),((float)(((((half)(val5))-val32.y)*alu19))),((float)(((((half)(val9))-val32.z)*alu20))),((float)(((((half)(val13))-val32.w)*alu21)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+18),alu27), (float4)(((float)(((((half)(val18))-val33.x)*alu22))),((float)(((((half)(val22))-val33.y)*alu23))),((float)(((((half)(val26))-val33.z)*alu24))),((float)(((((half)(val30))-val33.w)*alu25)))));
  write_imagef(data0_1024_192_4, (int2)((alu26+21),alu27), (float4)(((float)(((((half)(val2))-val32.x)*alu18))),((float)(((((half)(val6))-val32.y)*alu19))),((float)(((((half)(val10))-val32.z)*alu20))),((float)(((((half)(val14))-val32.w)*alu21)))));
}

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

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

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

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

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

__kernel void r_512_48_4_4_16_4(write_only image2d_t data0_512_192_4, read_only image2d_t data1_32_1088_4, read_only image2d_t data2_1_3456_4, read_only image2d_t data3_1_48_4) {
  int idx0 = get_global_id(0); /* 48 */
    float4 val4 = read_imagef(data2_1_3456_4, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1_3456_4, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1_3456_4, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1_3456_4, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1_48_4, smp, (int2)(idx0,0));
  write_imagef(data0_512_192_4, (int2)(idx0,idx1), (float4)(((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38),((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39)));
  write_imagef(data0_512_192_4, (int2)((idx0+48),idx1), (float4)(((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43)));
  write_imagef(data0_512_192_4, (int2)((idx0+96),idx1), (float4)(((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47)));
  write_imagef(data0_512_192_4, (int2)((idx0+144),idx1), (float4)(((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044714998453855515f*alu51*alu51*alu51))*-2.302208185195923f))))*alu51)));
}

__kernel void r_512_16_4_4_48_4(write_only image2d_t data0_512_64_4, read_only image2d_t data1_512_64_4, read_only image2d_t data2_512_192_4, read_only image2d_t data3_1_3072_4, read_only image2d_t data4_1_16_4, read_only image2d_t data5_1_16_4) {
  int3 cast0 = (int3)(512,64,4);
  int3 cast1 = (int3)(1,16,4);
  for (int Ridx0 = 0; Ridx0 < 48; Ridx0++) {
    float4 val0 = read_imagef(data2_512_192_4, smp, (int2)((Ridx0+48),idx1));
    float4 val1 = read_imagef(data2_512_192_4, smp, (int2)((Ridx0+96),idx1));
    float4 val2 = read_imagef(data2_512_192_4, smp, (int2)((Ridx0+144),idx1));
    float4 val3 = read_imagef(data2_512_192_4, smp, (int2)(Ridx0,idx1));
    int alu16 = ((idx0*192)+(Ridx0<<2));
    float4 val4 = read_imagef(data3_1_3072_4, smp, (int2)((alu16+1),0));
    float4 val5 = read_imagef(data3_1_3072_4, smp, (int2)((alu16+2),0));
    float4 val6 = read_imagef(data3_1_3072_4, smp, (int2)((alu16+3),0));
    float4 val7 = read_imagef(data3_1_3072_4, smp, (int2)(alu16,0));
  }
  float4 val8 = read_imagef(data1_512_64_4, smp, (int2)(idx0,idx1));
  int alu34 = (idx0+16);
  float4 val9 = read_imagef(data1_512_64_4, smp, (int2)(alu34,idx1));
  int alu35 = (idx0+32);
  float4 val10 = read_imagef(data1_512_64_4, smp, (int2)(alu35,idx1));
  int alu36 = (idx0+48);
  float4 val11 = read_imagef(data1_512_64_4, smp, (int2)(alu36,idx1));
  float4 val12 = read_imagef(data4_1_16_4, smp, (int2)(idx0,0));
  float4 val13 = read_imagef(data5_1_16_4, smp, (int2)(idx0,0));
  write_imagef(data0_512_64_4, (int2)(idx0,idx1), (float4)((val8.x+(((*(buf0+0))+val12.x)*val13.x)),(val8.y+(((*(buf0+1))+val12.y)*val13.y)),(val8.z+(((*(buf0+2))+val12.z)*val13.z)),(val8.w+(((*(buf0+3))+val12.w)*val13.w))));
  write_imagef(data0_512_64_4, (int2)(alu34,idx1), (float4)((val9.x+(((*(buf0+4))+val12.x)*val13.x)),(val9.y+(((*(buf0+5))+val12.y)*val13.y)),(val9.z+(((*(buf0+6))+val12.z)*val13.z)),(val9.w+(((*(buf0+7))+val12.w)*val13.w))));
  write_imagef(data0_512_64_4, (int2)(alu35,idx1), (float4)((val10.x+(((*(buf0+8))+val12.x)*val13.x)),(val10.y+(((*(buf0+9))+val12.y)*val13.y)),(val10.z+(((*(buf0+10))+val12.z)*val13.z)),(val10.w+(((*(buf0+11))+val12.w)*val13.w))));
  write_imagef(data0_512_64_4, (int2)(alu36,idx1), (float4)((val11.x+(((*(buf0+12))+val12.x)*val13.x)),(val11.y+(((*(buf0+13))+val12.y)*val13.y)),(val11.z+(((*(buf0+14))+val12.z)*val13.z)),(val11.w+(((*(buf0+15))+val12.w)*val13.w))));
}

__kernel void r_16_8_16_2_4_4_7_7(__global half* data0_69632, read_only image2d_t data1_32_1024_4, __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&15);
  int alu1 = ((idx1<<7)+alu0);
  int alu2 = (idx0>>4);
    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_32_1024_4, smp, (int2)((alu1+-48),alu20));
    float4 val29 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+-32),alu20));
    float4 val30 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+-16),alu20));
    float4 val31 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+16),alu20));
    float4 val32 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+32),alu20));
    float4 val33 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+48),alu20));
    float4 val34 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+64),alu20));
    float4 val35 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+80),alu20));
    float4 val36 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+96),alu20));
    float4 val37 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+112),alu20));
    float4 val38 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+128),alu20));
    float4 val39 = read_imagef(data1_32_1024_4, smp, (int2)((alu1+144),alu20));
    float4 val40 = read_imagef(data1_32_1024_4, 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));
    *(buf0+0) = ((*(buf0+0))+(val28.x*cast27)+(val29.x*cast0)+(val30.x*cast1)+(val40.x*cast2)+(val31.x*cast3)+(val32.x*cast4)+(val33.x*cast5));
    *(buf0+1) = ((*(buf0+1))+(val30.x*cast27)+(val40.x*cast0)+(val31.x*cast1)+(val32.x*cast2)+(val33.x*cast3)+(val34.x*cast4)+(val35.x*cast5));
    *(buf0+2) = ((*(buf0+2))+(val31.x*cast27)+(val32.x*cast0)+(val33.x*cast1)+(val34.x*cast2)+(val35.x*cast3)+(val36.x*cast4)+(val37.x*cast5));
    *(buf0+3) = ((*(buf0+3))+(val33.x*cast27)+(val34.x*cast0)+(val35.x*cast1)+(val36.x*cast2)+(val37.x*cast3)+(val38.x*cast4)+(val39.x*cast5));
    *(buf0+4) = ((*(buf0+4))+(val28.y*cast6)+(val29.y*cast7)+(val30.y*cast8)+(val40.y*cast9)+(val31.y*cast10)+(val32.y*cast11)+(val33.y*cast12));
    *(buf0+5) = ((*(buf0+5))+(val30.y*cast6)+(val40.y*cast7)+(val31.y*cast8)+(val32.y*cast9)+(val33.y*cast10)+(val34.y*cast11)+(val35.y*cast12));
    *(buf0+6) = ((*(buf0+6))+(val31.y*cast6)+(val32.y*cast7)+(val33.y*cast8)+(val34.y*cast9)+(val35.y*cast10)+(val36.y*cast11)+(val37.y*cast12));
    *(buf0+7) = ((*(buf0+7))+(val33.y*cast6)+(val34.y*cast7)+(val35.y*cast8)+(val36.y*cast9)+(val37.y*cast10)+(val38.y*cast11)+(val39.y*cast12));
    *(buf0+8) = ((*(buf0+8))+(val28.z*cast13)+(val29.z*cast14)+(val30.z*cast15)+(val40.z*cast16)+(val31.z*cast17)+(val32.z*cast18)+(val33.z*cast19));
    *(buf0+9) = ((*(buf0+9))+(val30.z*cast13)+(val40.z*cast14)+(val31.z*cast15)+(val32.z*cast16)+(val33.z*cast17)+(val34.z*cast18)+(val35.z*cast19));
    *(buf0+10) = ((*(buf0+10))+(val31.z*cast13)+(val32.z*cast14)+(val33.z*cast15)+(val34.z*cast16)+(val35.z*cast17)+(val36.z*cast18)+(val37.z*cast19));
    *(buf0+11) = ((*(buf0+11))+(val33.z*cast13)+(val34.z*cast14)+(val35.z*cast15)+(val36.z*cast16)+(val37.z*cast17)+(val38.z*cast18)+(val39.z*cast19));
    *(buf0+12) = ((*(buf0+12))+(val28.w*cast20)+(val29.w*cast21)+(val30.w*cast22)+(val40.w*cast23)+(val31.w*cast24)+(val32.w*cast25)+(val33.w*cast26));
    *(buf0+13) = ((*(buf0+13))+(val30.w*cast20)+(val40.w*cast21)+(val31.w*cast22)+(val32.w*cast23)+(val33.w*cast24)+(val34.w*cast25)+(val35.w*cast26));
    *(buf0+14) = ((*(buf0+14))+(val31.w*cast20)+(val32.w*cast21)+(val33.w*cast22)+(val34.w*cast23)+(val35.w*cast24)+(val36.w*cast25)+(val37.w*cast26));
    *(buf0+15) = ((*(buf0+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)(((*(buf0+4))+cast29)));
  *(data0_69632+(alu39+4)) = ((half)(((*(buf0+8))+cast30)));
  *(data0_69632+(alu39+6)) = ((half)(((*(buf0+12))+cast31)));
  *(data0_69632+(alu39+136)) = ((half)(((*(buf0+1))+cast28)));
  *(data0_69632+(alu39+138)) = ((half)(((*(buf0+5))+cast29)));
  *(data0_69632+(alu39+140)) = ((half)(((*(buf0+9))+cast30)));
  *(data0_69632+(alu39+142)) = ((half)(((*(buf0+13))+cast31)));
  *(data0_69632+(alu39+272)) = ((half)(((*(buf0+2))+cast28)));
  *(data0_69632+(alu39+274)) = ((half)(((*(buf0+6))+cast29)));
  *(data0_69632+(alu39+276)) = ((half)(((*(buf0+10))+cast30)));
  *(data0_69632+(alu39+278)) = ((half)(((*(buf0+14))+cast31)));
  *(data0_69632+(alu39+408)) = ((half)(((*(buf0+3))+cast28)));
  *(data0_69632+(alu39+410)) = ((half)(((*(buf0+7))+cast29)));
  *(data0_69632+(alu39+412)) = ((half)(((*(buf0+11))+cast30)));
  *(data0_69632+(alu39+414)) = ((half)(((*(buf0+15))+cast31)));
  *(data0_69632+alu39) = ((half)(((*(buf0+0))+cast28)));
}

__kernel void r_128_32_4_4_32_4(write_only image2d_t data0_1_16384_4, read_only image2d_t data1_16_1088_4, read_only image2d_t data2_1_4352_4, read_only image2d_t data3_1_32_4) {
  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_16_1088_4, smp, (int2)((alu17+34),alu0));
    float4 val1 = read_imagef(data1_16_1088_4, smp, (int2)((alu17+68),alu0));
    float4 val2 = read_imagef(data1_16_1088_4, smp, (int2)((alu17+102),alu0));
    float4 val3 = read_imagef(data1_16_1088_4, smp, (int2)(alu17,alu0));
    int alu18 = ((idx0*136)+(Ridx0<<2));
    float4 val4 = read_imagef(data2_1_4352_4, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1_4352_4, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1_4352_4, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1_4352_4, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1_32_4, smp, (int2)(idx0,0));
  int alu52 = (idx0+(idx1<<7));
  write_imagef(data0_1_16384_4, (int2)(alu52,0), (float4)(((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38),((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39)));
  write_imagef(data0_1_16384_4, (int2)((alu52+32),0), (float4)(((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43)));
  write_imagef(data0_1_16384_4, (int2)((alu52+64),0), (float4)(((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47)));
  write_imagef(data0_1_16384_4, (int2)((alu52+96),0), (float4)(((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044714998453855515f*alu51*alu51*alu51))*-2.302208185195923f))))*alu51)));
}

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

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

__kernel void r_128_96_4_4_32_4(write_only image2d_t data0_128_384_4, read_only image2d_t data1_16_1088_4, read_only image2d_t data2_1_13056_4, read_only image2d_t data3_1_96_4) {
  int idx0 = get_global_id(0); /* 96 */
    float4 val4 = read_imagef(data2_1_13056_4, smp, (int2)((alu18+1),0));
    float4 val5 = read_imagef(data2_1_13056_4, smp, (int2)((alu18+2),0));
    float4 val6 = read_imagef(data2_1_13056_4, smp, (int2)((alu18+3),0));
    float4 val7 = read_imagef(data2_1_13056_4, smp, (int2)(alu18,0));
  }
  float4 val8 = read_imagef(data3_1_96_4, smp, (int2)(idx0,0));
  write_imagef(data0_128_384_4, (int2)(idx0,idx1), (float4)(((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38),((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39)));
  write_imagef(data0_128_384_4, (int2)((idx0+96),idx1), (float4)(((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42),((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43)));
  write_imagef(data0_128_384_4, (int2)((idx0+192),idx1), (float4)(((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46),((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47)));
  write_imagef(data0_128_384_4, (int2)((idx0+288),idx1), (float4)(((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50),((1/(1.0f+exp2(((alu51+(0.044714998453855515f*alu51*alu51*alu51))*-2.302208185195923f))))*alu51)));
}

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

__kernel void r_8_4_32_2_4_4_7_7(__global half* data0_33280, read_only image2d_t data1_16_1024_4, __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 alu0 = (idx0&31);
  int alu1 = ((idx1<<8)+alu0);
  int alu2 = (idx0>>5);
    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_16_1024_4, smp, (int2)((alu1+-96),alu20));
    float4 val29 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+-64),alu20));
    float4 val30 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+-32),alu20));
    float4 val31 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+32),alu20));
    float4 val32 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+64),alu20));
    float4 val33 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+96),alu20));
    float4 val34 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+128),alu20));
    float4 val35 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+160),alu20));
    float4 val36 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+192),alu20));
    float4 val37 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+224),alu20));
    float4 val38 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+256),alu20));
    float4 val39 = read_imagef(data1_16_1024_4, smp, (int2)((alu1+288),alu20));
    float4 val40 = read_imagef(data1_16_1024_4, 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)(((*(buf0+4))+cast29)));
  *(data0_33280+(alu39+4)) = ((half)(((*(buf0+8))+cast30)));
  *(data0_33280+(alu39+6)) = ((half)(((*(buf0+12))+cast31)));
  *(data0_33280+(alu39+260)) = ((half)(((*(buf0+1))+cast28)));
  *(data0_33280+(alu39+262)) = ((half)(((*(buf0+5))+cast29)));
  *(data0_33280+(alu39+264)) = ((half)(((*(buf0+9))+cast30)));
  *(data0_33280+(alu39+266)) = ((half)(((*(buf0+13))+cast31)));
  *(data0_33280+(alu39+520)) = ((half)(((*(buf0+2))+cast28)));
  *(data0_33280+(alu39+522)) = ((half)(((*(buf0+6))+cast29)));
  *(data0_33280+(alu39+524)) = ((half)(((*(buf0+10))+cast30)));
  *(data0_33280+(alu39+526)) = ((half)(((*(buf0+14))+cast31)));
  *(data0_33280+(alu39+780)) = ((half)(((*(buf0+3))+cast28)));
  *(data0_33280+(alu39+782)) = ((half)(((*(buf0+7))+cast29)));
  *(data0_33280+(alu39+784)) = ((half)(((*(buf0+11))+cast30)));
  *(data0_33280+(alu39+786)) = ((half)(((*(buf0+15))+cast31)));
  *(data0_33280+alu39) = ((half)(((*(buf0+0))+cast28)));
}

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

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

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

__kernel void r_32_192_4_4_64_4(write_only image2d_t data0_32_768_4, read_only image2d_t data1_1_8320_4, read_only image2d_t data2_192_320_4, read_only image2d_t data3_1_192_4) {
  int idx0 = get_global_id(0); /* 192 */
    float4 val4 = read_imagef(data2_192_320_4, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_192_320_4, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_192_320_4, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_192_320_4, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1_192_4, smp, (int2)(idx0,0));
  write_imagef(data0_32_768_4, (int2)(idx0,idx1), (float4)(((1/(1.0f+exp2(((alu35+(0.044714998453855515f*alu35*alu35*alu35))*-2.302208185195923f))))*alu35),((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38)));
  write_imagef(data0_32_768_4, (int2)((idx0+192),idx1), (float4)(((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42)));
  write_imagef(data0_32_768_4, (int2)((idx0+384),idx1), (float4)(((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46)));
  write_imagef(data0_32_768_4, (int2)((idx0+576),idx1), (float4)(((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50)));
}

__kernel void r_32_64_4_4_192_4(write_only image2d_t data0_1_8192_4, read_only image2d_t data1_1_8192_4, read_only image2d_t data2_32_768_4, read_only image2d_t data3_64_768_4, read_only image2d_t data4_1_64_4, read_only image2d_t data5_1_64_4) {
  int3 cast0 = (int3)(1,8192,4);
  int3 cast1 = (int3)(1,64,4);
  for (int Ridx0 = 0; Ridx0 < 192; Ridx0++) {
    float4 val0 = read_imagef(data2_32_768_4, smp, (int2)((Ridx0+192),idx1));
    float4 val1 = read_imagef(data2_32_768_4, smp, (int2)((Ridx0+384),idx1));
    float4 val2 = read_imagef(data2_32_768_4, smp, (int2)((Ridx0+576),idx1));
    float4 val3 = read_imagef(data2_32_768_4, smp, (int2)(Ridx0,idx1));
    int alu16 = (Ridx0<<2);
    float4 val4 = read_imagef(data3_64_768_4, smp, (int2)((alu16+1),idx0));
    float4 val5 = read_imagef(data3_64_768_4, smp, (int2)((alu16+2),idx0));
    float4 val6 = read_imagef(data3_64_768_4, smp, (int2)((alu16+3),idx0));
    float4 val7 = read_imagef(data3_64_768_4, smp, (int2)(alu16,idx0));
  }
  int alu34 = (idx0+(idx1<<8));
  float4 val8 = read_imagef(data1_1_8192_4, smp, (int2)(alu34,0));
  int alu35 = (alu34+64);
  float4 val9 = read_imagef(data1_1_8192_4, smp, (int2)(alu35,0));
  int alu36 = (alu34+128);
  float4 val10 = read_imagef(data1_1_8192_4, smp, (int2)(alu36,0));
  int alu37 = (alu34+192);
  float4 val11 = read_imagef(data1_1_8192_4, smp, (int2)(alu37,0));
  float4 val12 = read_imagef(data4_1_64_4, smp, (int2)(idx0,0));
  float4 val13 = read_imagef(data5_1_64_4, smp, (int2)(idx0,0));
  write_imagef(data0_1_8192_4, (int2)(alu34,0), (float4)((val8.x+(((*(buf0+0))+val12.x)*val13.x)),(val8.y+(((*(buf0+1))+val12.y)*val13.y)),(val8.z+(((*(buf0+2))+val12.z)*val13.z)),(val8.w+(((*(buf0+3))+val12.w)*val13.w))));
  write_imagef(data0_1_8192_4, (int2)(alu35,0), (float4)((val9.x+(((*(buf0+4))+val12.x)*val13.x)),(val9.y+(((*(buf0+5))+val12.y)*val13.y)),(val9.z+(((*(buf0+6))+val12.z)*val13.z)),(val9.w+(((*(buf0+7))+val12.w)*val13.w))));
  write_imagef(data0_1_8192_4, (int2)(alu36,0), (float4)((val10.x+(((*(buf0+8))+val12.x)*val13.x)),(val10.y+(((*(buf0+9))+val12.y)*val13.y)),(val10.z+(((*(buf0+10))+val12.z)*val13.z)),(val10.w+(((*(buf0+11))+val12.w)*val13.w))));
  write_imagef(data0_1_8192_4, (int2)(alu37,0), (float4)((val11.x+(((*(buf0+12))+val12.x)*val13.x)),(val11.y+(((*(buf0+13))+val12.y)*val13.y)),(val11.z+(((*(buf0+14))+val12.z)*val13.z)),(val11.w+(((*(buf0+15))+val12.w)*val13.w))));
}

__kernel void r_4_2_64_2_4_4_7_7(__global half* data0_16512, read_only image2d_t data1_1_8192_4, __global half* data2_57344, __global half* data3_512) {
  int idx0 = get_global_id(0); /* 128 */
  int idx1 = get_global_id(1); /* 2 */
  int idx2 = get_global_id(2); /* 4 */
  float4 cast0 = (float4)(0.0f,0.0f,0.0f,0.0f);
  int alu0 = (idx0&63);
  int alu1 = (idx0>>6);
    int alu18 = ((Ridx0*28)+alu1+(alu0*896));
    half val0 = (*(data2_57344+(alu18+4)));
    half val1 = (*(data2_57344+(alu18+8)));
    half val2 = (*(data2_57344+(alu18+12)));
    half val3 = (*(data2_57344+(alu18+16)));
    half val4 = (*(data2_57344+(alu18+20)));
    half val5 = (*(data2_57344+(alu18+24)));
    half val6 = (*(data2_57344+(alu18+224)));
    half val7 = (*(data2_57344+(alu18+228)));
    half val8 = (*(data2_57344+(alu18+232)));
    half val9 = (*(data2_57344+(alu18+236)));
    half val10 = (*(data2_57344+(alu18+240)));
    half val11 = (*(data2_57344+(alu18+244)));
    half val12 = (*(data2_57344+(alu18+248)));
    half val13 = (*(data2_57344+(alu18+448)));
    half val14 = (*(data2_57344+(alu18+452)));
    half val15 = (*(data2_57344+(alu18+456)));
    half val16 = (*(data2_57344+(alu18+460)));
    half val17 = (*(data2_57344+(alu18+464)));
    half val18 = (*(data2_57344+(alu18+468)));
    half val19 = (*(data2_57344+(alu18+472)));
    half val20 = (*(data2_57344+(alu18+672)));
    half val21 = (*(data2_57344+(alu18+676)));
    half val22 = (*(data2_57344+(alu18+680)));
    half val23 = (*(data2_57344+(alu18+684)));
    half val24 = (*(data2_57344+(alu18+688)));
    half val25 = (*(data2_57344+(alu18+692)));
    half val26 = (*(data2_57344+(alu18+696)));
    half val27 = (*(data2_57344+alu18));
    int alu19 = ((idx2<<1)+Ridx0);
    int alu20 = ((idx1<<9)+(((alu19+5)&7)<<10)+alu0);
    int alu21 = (((idx2+((Ridx0+1)>>1)+2)>>2)+-1);
    bool alu22 = (alu19<11);
    bool alu23 = (2<alu19);
    bool alu24 = (alu23&alu22);
    float4 val28 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+64),alu21)):cast0);
    float4 val29 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+128),alu21)):cast0);
    float4 val30 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+192),alu21)):cast0);
    float4 val31 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+256),alu21)):cast0);
    float4 val32 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+320),alu21)):cast0);
    float4 val33 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+384),alu21)):cast0);
    float4 val34 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)((alu20+448),alu21)):cast0);
    float4 val35 = (alu24?read_imagef(data1_1_8192_4, smp, (int2)(alu20,alu21)):cast0);
    int alu25 = ((idx2<<11)+(Ridx0<<10)+alu0);
    bool alu26 = ((0<idx1)&alu23&alu22);
    float4 val36 = (alu26?read_imagef(data1_1_8192_4, smp, (int2)((alu25+-2752),0)):cast0);
    float4 val37 = (alu26?read_imagef(data1_1_8192_4, smp, (int2)((alu25+-2688),0)):cast0);
    float4 val38 = (alu26?read_imagef(data1_1_8192_4, smp, (int2)((alu25+-2624),0)):cast0);
    bool alu27 = ((idx1<1)&alu23&alu22);
    float4 val39 = (alu27?read_imagef(data1_1_8192_4, smp, (int2)((alu25+-2560),0)):cast0);
    float4 val40 = (alu27?read_imagef(data1_1_8192_4, smp, (int2)((alu25+-2496),0)):cast0);
    float cast1 = ((float)(val0));
    float cast2 = ((float)(val1));
    float cast3 = ((float)(val2));
    float cast4 = ((float)(val3));
    float cast5 = ((float)(val4));
    float cast6 = ((float)(val5));
    float cast7 = ((float)(val6));
    float cast8 = ((float)(val7));
    float cast9 = ((float)(val8));
    float cast10 = ((float)(val9));
    float cast11 = ((float)(val10));
    float cast12 = ((float)(val11));
    float cast13 = ((float)(val12));
    float cast14 = ((float)(val13));
    float cast15 = ((float)(val14));
    float cast16 = ((float)(val15));
    float cast17 = ((float)(val16));
    float cast18 = ((float)(val17));
    float cast19 = ((float)(val18));
    float cast20 = ((float)(val19));
    float cast21 = ((float)(val20));
    float cast22 = ((float)(val21));
    float cast23 = ((float)(val22));
    float cast24 = ((float)(val23));
    float cast25 = ((float)(val24));
    float cast26 = ((float)(val25));
    float cast27 = ((float)(val26));
    float cast28 = ((float)(val27));
    *(buf0+0) = ((*(buf0+0))+(val36.x*cast28)+(val37.x*cast1)+(val38.x*cast2)+(val35.x*cast3)+(val28.x*cast4)+(val29.x*cast5)+(val30.x*cast6));
    *(buf0+1) = ((*(buf0+1))+(val38.x*cast28)+(val35.x*cast1)+(val28.x*cast2)+(val29.x*cast3)+(val30.x*cast4)+(val31.x*cast5)+(val32.x*cast6));
    *(buf0+2) = ((*(buf0+2))+(val28.x*cast28)+(val29.x*cast1)+(val30.x*cast2)+(val31.x*cast3)+(val32.x*cast4)+(val33.x*cast5)+(val34.x*cast6));
    *(buf0+3) = ((*(buf0+3))+(val30.x*cast28)+(val31.x*cast1)+(val32.x*cast2)+(val33.x*cast3)+(val34.x*cast4)+(val39.x*cast5)+(val40.x*cast6));
    *(buf0+4) = ((*(buf0+4))+(val36.y*cast7)+(val37.y*cast8)+(val38.y*cast9)+(val35.y*cast10)+(val28.y*cast11)+(val29.y*cast12)+(val30.y*cast13));
    *(buf0+5) = ((*(buf0+5))+(val38.y*cast7)+(val35.y*cast8)+(val28.y*cast9)+(val29.y*cast10)+(val30.y*cast11)+(val31.y*cast12)+(val32.y*cast13));
    *(buf0+6) = ((*(buf0+6))+(val28.y*cast7)+(val29.y*cast8)+(val30.y*cast9)+(val31.y*cast10)+(val32.y*cast11)+(val33.y*cast12)+(val34.y*cast13));
    *(buf0+7) = ((*(buf0+7))+(val30.y*cast7)+(val31.y*cast8)+(val32.y*cast9)+(val33.y*cast10)+(val34.y*cast11)+(val39.y*cast12)+(val40.y*cast13));
    *(buf0+8) = ((*(buf0+8))+(val36.z*cast14)+(val37.z*cast15)+(val38.z*cast16)+(val35.z*cast17)+(val28.z*cast18)+(val29.z*cast19)+(val30.z*cast20));
    *(buf0+9) = ((*(buf0+9))+(val38.z*cast14)+(val35.z*cast15)+(val28.z*cast16)+(val29.z*cast17)+(val30.z*cast18)+(val31.z*cast19)+(val32.z*cast20));
    *(buf0+10) = ((*(buf0+10))+(val28.z*cast14)+(val29.z*cast15)+(val30.z*cast16)+(val31.z*cast17)+(val32.z*cast18)+(val33.z*cast19)+(val34.z*cast20));
    *(buf0+11) = ((*(buf0+11))+(val30.z*cast14)+(val31.z*cast15)+(val32.z*cast16)+(val33.z*cast17)+(val34.z*cast18)+(val39.z*cast19)+(val40.z*cast20));
    *(buf0+12) = ((*(buf0+12))+(val36.w*cast21)+(val37.w*cast22)+(val38.w*cast23)+(val35.w*cast24)+(val28.w*cast25)+(val29.w*cast26)+(val30.w*cast27));
    *(buf0+13) = ((*(buf0+13))+(val38.w*cast21)+(val35.w*cast22)+(val28.w*cast23)+(val29.w*cast24)+(val30.w*cast25)+(val31.w*cast26)+(val32.w*cast27));
    *(buf0+14) = ((*(buf0+14))+(val28.w*cast21)+(val29.w*cast22)+(val30.w*cast23)+(val31.w*cast24)+(val32.w*cast25)+(val33.w*cast26)+(val34.w*cast27));
    *(buf0+15) = ((*(buf0+15))+(val30.w*cast21)+(val31.w*cast22)+(val32.w*cast23)+(val33.w*cast24)+(val34.w*cast25)+(val39.w*cast26)+(val40.w*cast27));
  }
  int alu45 = ((alu0<<3)+alu1);
  half val41 = (*(data3_512+(alu45+2)));
  half val42 = (*(data3_512+(alu45+4)));
  half val43 = (*(data3_512+(alu45+6)));
  half val44 = (*(data3_512+alu45));
  int alu46 = (alu45+(idx1*2064)+(idx2*4128));
  float cast29 = ((float)(val44));
  float cast30 = ((float)(val41));
  float cast31 = ((float)(val42));
  float cast32 = ((float)(val43));
  *(data0_16512+(alu46+2)) = ((half)(((*(buf0+4))+cast30)));
  *(data0_16512+(alu46+4)) = ((half)(((*(buf0+8))+cast31)));
  *(data0_16512+(alu46+6)) = ((half)(((*(buf0+12))+cast32)));
  *(data0_16512+(alu46+516)) = ((half)(((*(buf0+1))+cast29)));
  *(data0_16512+(alu46+518)) = ((half)(((*(buf0+5))+cast30)));
  *(data0_16512+(alu46+520)) = ((half)(((*(buf0+9))+cast31)));
  *(data0_16512+(alu46+522)) = ((half)(((*(buf0+13))+cast32)));
  *(data0_16512+(alu46+1032)) = ((half)(((*(buf0+2))+cast29)));
  *(data0_16512+(alu46+1034)) = ((half)(((*(buf0+6))+cast30)));
  *(data0_16512+(alu46+1036)) = ((half)(((*(buf0+10))+cast31)));
  *(data0_16512+(alu46+1038)) = ((half)(((*(buf0+14))+cast32)));
  *(data0_16512+(alu46+1548)) = ((half)(((*(buf0+3))+cast29)));
  *(data0_16512+(alu46+1550)) = ((half)(((*(buf0+7))+cast30)));
  *(data0_16512+(alu46+1552)) = ((half)(((*(buf0+11))+cast31)));
  *(data0_16512+(alu46+1554)) = ((half)(((*(buf0+15))+cast32)));
  *(data0_16512+alu46) = ((half)(((*(buf0+0))+cast29)));
}

__kernel void r_8_128_4_4_128_4(write_only image2d_t data0_1_4096_4, read_only image2d_t data1_1_4128_4, read_only image2d_t data2_128_576_4, read_only image2d_t data3_1_128_4) {
  for (int Ridx0 = 0; Ridx0 < 128; Ridx0++) {
    int alu16 = ((idx1*516)+Ridx0);
    float4 val0 = read_imagef(data1_1_4128_4, smp, (int2)((alu16+129),0));
    float4 val1 = read_imagef(data1_1_4128_4, smp, (int2)((alu16+258),0));
    float4 val2 = read_imagef(data1_1_4128_4, smp, (int2)((alu16+387),0));
    float4 val3 = read_imagef(data1_1_4128_4, smp, (int2)(alu16,0));
    float4 val4 = read_imagef(data2_128_576_4, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_128_576_4, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_128_576_4, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_128_576_4, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1_128_4, smp, (int2)(idx0,0));
  int alu51 = (idx0+(idx1<<9));
  write_imagef(data0_1_4096_4, (int2)(alu51,0), (float4)(((1/(1.0f+exp2(((alu35+(0.044714998453855515f*alu35*alu35*alu35))*-2.302208185195923f))))*alu35),((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38)));
  write_imagef(data0_1_4096_4, (int2)((alu51+128),0), (float4)(((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42)));
  write_imagef(data0_1_4096_4, (int2)((alu51+256),0), (float4)(((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46)));
  write_imagef(data0_1_4096_4, (int2)((alu51+384),0), (float4)(((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50)));
}

__kernel void r_4_2_128_4_4_3_3(write_only image2d_t data0_1_4096_4, read_only image2d_t data1_1_4096_4, read_only image2d_t data2_1_3072_4, read_only image2d_t data3_1_128_4) {
  int3 cast0 = (int3)(1,4096,4);
  int alu0 = (idx2<<10);
  int alu1 = (idx0+(idx1<<9)+alu0);
  float4 val0 = read_imagef(data1_1_4096_4, smp, (int2)(alu1,0));
  float4 cast1 = (float4)(0.0f,0.0f,0.0f,0.0f);
  int alu2 = (idx0+alu0);
  bool alu3 = (0<idx1);
  float4 val1 = (alu3?read_imagef(data1_1_4096_4, smp, (int2)((alu2+-640),0)):cast1);
  bool alu4 = (idx1<1);
  float4 val2 = (alu4?read_imagef(data1_1_4096_4, smp, (int2)((alu2+-512),0)):cast1);
  float4 val3 = (alu3?read_imagef(data1_1_4096_4, smp, (int2)((alu2+384),0)):cast1);
  float4 val4 = (alu4?read_imagef(data1_1_4096_4, smp, (int2)((alu2+512),0)):cast1);
  float4 val5 = (alu3?read_imagef(data1_1_4096_4, smp, (int2)((alu2+1408),0)):cast1);
  float4 val6 = (alu4?read_imagef(data1_1_4096_4, smp, (int2)((alu2+1536),0)):cast1);
  float4 val7 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+-1024),0));
  float4 val8 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+-896),0));
  float4 val9 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+-768),0));
  float4 val10 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+-640),0));
  int alu5 = (alu1+128);
  float4 val11 = read_imagef(data1_1_4096_4, smp, (int2)(alu5,0));
  int alu6 = (alu1+256);
  float4 val12 = read_imagef(data1_1_4096_4, smp, (int2)(alu6,0));
  int alu7 = (alu1+384);
  float4 val13 = read_imagef(data1_1_4096_4, smp, (int2)(alu7,0));
  float4 val14 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+1024),0));
  float4 val15 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+1152),0));
  float4 val16 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+1280),0));
  float4 val17 = read_imagef(data1_1_4096_4, smp, (int2)((alu1+1408),0));
  float4 val18 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+1),0));
  float4 val19 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+2),0));
  float4 val20 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+3),0));
  float4 val21 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+4),0));
  float4 val22 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+5),0));
  float4 val23 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+6),0));
  float4 val24 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+7),0));
  float4 val25 = read_imagef(data2_1_3072_4, smp, (int2)((alu8+8),0));
  float4 val26 = read_imagef(data2_1_3072_4, smp, (int2)(alu8,0));
  float4 val27 = read_imagef(data3_1_128_4, smp, (int2)(idx0,0));
  write_imagef(data0_1_4096_4, (int2)(alu1,0), (float4)(((val1.x*val26.x)+(val7.x*val18.x)+(val8.x*val19.x)+(val3.x*val20.x)+(val0.x*val21.x)+(val11.x*val22.x)+(val5.x*val23.x)+(val14.x*val24.x)+(val15.x*val25.x)+val27.x),((val1.y*val26.y)+(val7.y*val18.y)+(val8.y*val19.y)+(val3.y*val20.y)+(val0.y*val21.y)+(val11.y*val22.y)+(val5.y*val23.y)+(val14.y*val24.y)+(val15.y*val25.y)+val27.y),((val1.z*val26.z)+(val7.z*val18.z)+(val8.z*val19.z)+(val3.z*val20.z)+(val0.z*val21.z)+(val11.z*val22.z)+(val5.z*val23.z)+(val14.z*val24.z)+(val15.z*val25.z)+val27.z),((val1.w*val26.w)+(val7.w*val18.w)+(val8.w*val19.w)+(val3.w*val20.w)+(val0.w*val21.w)+(val11.w*val22.w)+(val5.w*val23.w)+(val14.w*val24.w)+(val15.w*val25.w)+val27.w)));
  write_imagef(data0_1_4096_4, (int2)(alu5,0), (float4)(((val7.x*val26.x)+(val8.x*val18.x)+(val9.x*val19.x)+(val0.x*val20.x)+(val11.x*val21.x)+(val12.x*val22.x)+(val14.x*val23.x)+(val15.x*val24.x)+(val16.x*val25.x)+val27.x),((val7.y*val26.y)+(val8.y*val18.y)+(val9.y*val19.y)+(val0.y*val20.y)+(val11.y*val21.y)+(val12.y*val22.y)+(val14.y*val23.y)+(val15.y*val24.y)+(val16.y*val25.y)+val27.y),((val7.z*val26.z)+(val8.z*val18.z)+(val9.z*val19.z)+(val0.z*val20.z)+(val11.z*val21.z)+(val12.z*val22.z)+(val14.z*val23.z)+(val15.z*val24.z)+(val16.z*val25.z)+val27.z),((val7.w*val26.w)+(val8.w*val18.w)+(val9.w*val19.w)+(val0.w*val20.w)+(val11.w*val21.w)+(val12.w*val22.w)+(val14.w*val23.w)+(val15.w*val24.w)+(val16.w*val25.w)+val27.w)));
  write_imagef(data0_1_4096_4, (int2)(alu6,0), (float4)(((val8.x*val26.x)+(val9.x*val18.x)+(val10.x*val19.x)+(val11.x*val20.x)+(val12.x*val21.x)+(val13.x*val22.x)+(val15.x*val23.x)+(val16.x*val24.x)+(val17.x*val25.x)+val27.x),((val8.y*val26.y)+(val9.y*val18.y)+(val10.y*val19.y)+(val11.y*val20.y)+(val12.y*val21.y)+(val13.y*val22.y)+(val15.y*val23.y)+(val16.y*val24.y)+(val17.y*val25.y)+val27.y),((val8.z*val26.z)+(val9.z*val18.z)+(val10.z*val19.z)+(val11.z*val20.z)+(val12.z*val21.z)+(val13.z*val22.z)+(val15.z*val23.z)+(val16.z*val24.z)+(val17.z*val25.z)+val27.z),((val8.w*val26.w)+(val9.w*val18.w)+(val10.w*val19.w)+(val11.w*val20.w)+(val12.w*val21.w)+(val13.w*val22.w)+(val15.w*val23.w)+(val16.w*val24.w)+(val17.w*val25.w)+val27.w)));
  write_imagef(data0_1_4096_4, (int2)(alu7,0), (float4)(((val9.x*val26.x)+(val10.x*val18.x)+(val2.x*val19.x)+(val12.x*val20.x)+(val13.x*val21.x)+(val4.x*val22.x)+(val16.x*val23.x)+(val17.x*val24.x)+(val6.x*val25.x)+val27.x),((val9.y*val26.y)+(val10.y*val18.y)+(val2.y*val19.y)+(val12.y*val20.y)+(val13.y*val21.y)+(val4.y*val22.y)+(val16.y*val23.y)+(val17.y*val24.y)+(val6.y*val25.y)+val27.y),((val9.z*val26.z)+(val10.z*val18.z)+(val2.z*val19.z)+(val12.z*val20.z)+(val13.z*val21.z)+(val4.z*val22.z)+(val16.z*val23.z)+(val17.z*val24.z)+(val6.z*val25.z)+val27.z),((val9.w*val26.w)+(val10.w*val18.w)+(val2.w*val19.w)+(val12.w*val20.w)+(val13.w*val21.w)+(val4.w*val22.w)+(val16.w*val23.w)+(val17.w*val24.w)+(val6.w*val25.w)+val27.w)));
}

__kernel void r_4_2_128_4_4_7_7(write_only image2d_t data0_1_4128_4, read_only image2d_t data1_1_4096_4, read_only image2d_t data2_1_7168_4, read_only image2d_t data3_1_128_4) {
    int alu16 = ((idx2<<10)+(Ridx0<<10));
    int alu17 = (idx0+alu16);
    int alu18 = (idx2+Ridx0);
    bool alu19 = (alu18<7);
    bool alu20 = (2<alu18);
    bool alu21 = ((0<idx1)&alu20&alu19);
    float4 val0 = (alu21?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2944),0)):cast0);
    float4 val1 = (alu21?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2816),0)):cast0);
    float4 val2 = (alu21?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2688),0)):cast0);
    bool alu22 = ((idx1<1)&alu20&alu19);
    float4 val3 = (alu22?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2560),0)):cast0);
    float4 val4 = (alu22?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2432),0)):cast0);
    float4 val5 = (alu22?read_imagef(data1_1_4096_4, smp, (int2)((alu17+-2304),0)):cast0);
    int alu23 = (idx0+(idx1<<9)+alu16);
    bool alu24 = (alu20&alu19);
    float4 val6 = (alu24?read_imagef(data1_1_4096_4, smp, (int2)((alu23+-3072),0)):cast0);
    float4 val7 = (alu24?read_imagef(data1_1_4096_4, smp, (int2)((alu23+-2944),0)):cast0);
    float4 val8 = (alu24?read_imagef(data1_1_4096_4, smp, (int2)((alu23+-2816),0)):cast0);
    float4 val9 = (alu24?read_imagef(data1_1_4096_4, smp, (int2)((alu23+-2688),0)):cast0);
    int alu25 = ((idx0*56)+(Ridx0*7));
    float4 val10 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+1),0));
    float4 val11 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+2),0));
    float4 val12 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+3),0));
    float4 val13 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+4),0));
    float4 val14 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+5),0));
    float4 val15 = read_imagef(data2_1_7168_4, smp, (int2)((alu25+6),0));
    float4 val16 = read_imagef(data2_1_7168_4, smp, (int2)(alu25,0));
    *(buf0+0) = ((*(buf0+0))+(val0.x*val16.x)+(val1.x*val10.x)+(val2.x*val11.x)+(val6.x*val12.x)+(val7.x*val13.x)+(val8.x*val14.x)+(val9.x*val15.x));
    *(buf0+1) = ((*(buf0+1))+(val0.y*val16.y)+(val1.y*val10.y)+(val2.y*val11.y)+(val6.y*val12.y)+(val7.y*val13.y)+(val8.y*val14.y)+(val9.y*val15.y));
    *(buf0+2) = ((*(buf0+2))+(val0.z*val16.z)+(val1.z*val10.z)+(val2.z*val11.z)+(val6.z*val12.z)+(val7.z*val13.z)+(val8.z*val14.z)+(val9.z*val15.z));
    *(buf0+3) = ((*(buf0+3))+(val0.w*val16.w)+(val1.w*val10.w)+(val2.w*val11.w)+(val6.w*val12.w)+(val7.w*val13.w)+(val8.w*val14.w)+(val9.w*val15.w));
    *(buf0+4) = ((*(buf0+4))+(val1.x*val16.x)+(val2.x*val10.x)+(val6.x*val11.x)+(val7.x*val12.x)+(val8.x*val13.x)+(val9.x*val14.x)+(val3.x*val15.x));
    *(buf0+5) = ((*(buf0+5))+(val1.y*val16.y)+(val2.y*val10.y)+(val6.y*val11.y)+(val7.y*val12.y)+(val8.y*val13.y)+(val9.y*val14.y)+(val3.y*val15.y));
    *(buf0+6) = ((*(buf0+6))+(val1.z*val16.z)+(val2.z*val10.z)+(val6.z*val11.z)+(val7.z*val12.z)+(val8.z*val13.z)+(val9.z*val14.z)+(val3.z*val15.z));
    *(buf0+7) = ((*(buf0+7))+(val1.w*val16.w)+(val2.w*val10.w)+(val6.w*val11.w)+(val7.w*val12.w)+(val8.w*val13.w)+(val9.w*val14.w)+(val3.w*val15.w));
    *(buf0+8) = ((*(buf0+8))+(val2.x*val16.x)+(val6.x*val10.x)+(val7.x*val11.x)+(val8.x*val12.x)+(val9.x*val13.x)+(val3.x*val14.x)+(val4.x*val15.x));
    *(buf0+9) = ((*(buf0+9))+(val2.y*val16.y)+(val6.y*val10.y)+(val7.y*val11.y)+(val8.y*val12.y)+(val9.y*val13.y)+(val3.y*val14.y)+(val4.y*val15.y));
    *(buf0+10) = ((*(buf0+10))+(val2.z*val16.z)+(val6.z*val10.z)+(val7.z*val11.z)+(val8.z*val12.z)+(val9.z*val13.z)+(val3.z*val14.z)+(val4.z*val15.z));
    *(buf0+11) = ((*(buf0+11))+(val2.w*val16.w)+(val6.w*val10.w)+(val7.w*val11.w)+(val8.w*val12.w)+(val9.w*val13.w)+(val3.w*val14.w)+(val4.w*val15.w));
    *(buf0+12) = ((*(buf0+12))+(val6.x*val16.x)+(val7.x*val10.x)+(val8.x*val11.x)+(val9.x*val12.x)+(val3.x*val13.x)+(val4.x*val14.x)+(val5.x*val15.x));
    *(buf0+13) = ((*(buf0+13))+(val6.y*val16.y)+(val7.y*val10.y)+(val8.y*val11.y)+(val9.y*val12.y)+(val3.y*val13.y)+(val4.y*val14.y)+(val5.y*val15.y));
    *(buf0+14) = ((*(buf0+14))+(val6.z*val16.z)+(val7.z*val10.z)+(val8.z*val11.z)+(val9.z*val12.z)+(val3.z*val13.z)+(val4.z*val14.z)+(val5.z*val15.z));
    *(buf0+15) = ((*(buf0+15))+(val6.w*val16.w)+(val7.w*val10.w)+(val8.w*val11.w)+(val9.w*val12.w)+(val3.w*val13.w)+(val4.w*val14.w)+(val5.w*val15.w));
  }
  float4 val17 = read_imagef(data3_1_128_4, smp, (int2)(idx0,0));
  int alu43 = (idx0+(idx1*516)+(idx2*1032));
  write_imagef(data0_1_4128_4, (int2)(alu43,0), (float4)(((*(buf0+0))+val17.x),((*(buf0+1))+val17.y),((*(buf0+2))+val17.z),((*(buf0+3))+val17.w)));
  write_imagef(data0_1_4128_4, (int2)((alu43+129),0), (float4)(((*(buf0+4))+val17.x),((*(buf0+5))+val17.y),((*(buf0+6))+val17.z),((*(buf0+7))+val17.w)));
  write_imagef(data0_1_4128_4, (int2)((alu43+258),0), (float4)(((*(buf0+8))+val17.x),((*(buf0+9))+val17.y),((*(buf0+10))+val17.z),((*(buf0+11))+val17.w)));
  write_imagef(data0_1_4128_4, (int2)((alu43+387),0), (float4)(((*(buf0+12))+val17.x),((*(buf0+13))+val17.y),((*(buf0+14))+val17.z),((*(buf0+15))+val17.w)));
}

__kernel void r_8_384_4_4_128_4(write_only image2d_t data0_1_12288_4, read_only image2d_t data1_1_4128_4, read_only image2d_t data2_384_576_4, read_only image2d_t data3_1_384_4) {
  int idx0 = get_global_id(0); /* 384 */
    float4 val4 = read_imagef(data2_384_576_4, smp, (int2)((alu17+1),idx0));
    float4 val5 = read_imagef(data2_384_576_4, smp, (int2)((alu17+2),idx0));
    float4 val6 = read_imagef(data2_384_576_4, smp, (int2)((alu17+3),idx0));
    float4 val7 = read_imagef(data2_384_576_4, smp, (int2)(alu17,idx0));
  }
  float4 val8 = read_imagef(data3_1_384_4, smp, (int2)(idx0,0));
  int alu51 = (idx0+(idx1*1536));
  write_imagef(data0_1_12288_4, (int2)(alu51,0), (float4)(((1/(1.0f+exp2(((alu35+(0.044714998453855515f*alu35*alu35*alu35))*-2.302208185195923f))))*alu35),((1/(1.0f+exp2(((alu36+(0.044714998453855515f*alu36*alu36*alu36))*-2.302208185195923f))))*alu36),((1/(1.0f+exp2(((alu37+(0.044714998453855515f*alu37*alu37*alu37))*-2.302208185195923f))))*alu37),((1/(1.0f+exp2(((alu38+(0.044714998453855515f*alu38*alu38*alu38))*-2.302208185195923f))))*alu38)));
  write_imagef(data0_1_12288_4, (int2)((alu51+384),0), (float4)(((1/(1.0f+exp2(((alu39+(0.044714998453855515f*alu39*alu39*alu39))*-2.302208185195923f))))*alu39),((1/(1.0f+exp2(((alu40+(0.044714998453855515f*alu40*alu40*alu40))*-2.302208185195923f))))*alu40),((1/(1.0f+exp2(((alu41+(0.044714998453855515f*alu41*alu41*alu41))*-2.302208185195923f))))*alu41),((1/(1.0f+exp2(((alu42+(0.044714998453855515f*alu42*alu42*alu42))*-2.302208185195923f))))*alu42)));
  write_imagef(data0_1_12288_4, (int2)((alu51+768),0), (float4)(((1/(1.0f+exp2(((alu43+(0.044714998453855515f*alu43*alu43*alu43))*-2.302208185195923f))))*alu43),((1/(1.0f+exp2(((alu44+(0.044714998453855515f*alu44*alu44*alu44))*-2.302208185195923f))))*alu44),((1/(1.0f+exp2(((alu45+(0.044714998453855515f*alu45*alu45*alu45))*-2.302208185195923f))))*alu45),((1/(1.0f+exp2(((alu46+(0.044714998453855515f*alu46*alu46*alu46))*-2.302208185195923f))))*alu46)));
  write_imagef(data0_1_12288_4, (int2)((alu51+1152),0), (float4)(((1/(1.0f+exp2(((alu47+(0.044714998453855515f*alu47*alu47*alu47))*-2.302208185195923f))))*alu47),((1/(1.0f+exp2(((alu48+(0.044714998453855515f*alu48*alu48*alu48))*-2.302208185195923f))))*alu48),((1/(1.0f+exp2(((alu49+(0.044714998453855515f*alu49*alu49*alu49))*-2.302208185195923f))))*alu49),((1/(1.0f+exp2(((alu50+(0.044714998453855515f*alu50*alu50*alu50))*-2.302208185195923f))))*alu50)));
}

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

__kernel void r_128_2_4_2_4_4_3_3(write_only image2d_t data0_1_8192_4, read_only image2d_t data1_1_4096_4, __global half* data2_49152, __global half* data3_1024) {
  int idx2 = get_global_id(2); /* 128 */
  int alu0 = (idx1+(idx2*384));
  half val0 = (*(data2_49152+alu0));
  half val1 = (*(data2_49152+(alu0+4)));
  half val2 = (*(data2_49152+(alu0+8)));
  half val3 = (*(data2_49152+(alu0+12)));
  half val4 = (*(data2_49152+(alu0+16)));
  half val5 = (*(data2_49152+(alu0+20)));
  half val6 = (*(data2_49152+(alu0+24)));
  half val7 = (*(data2_49152+(alu0+28)));
  half val8 = (*(data2_49152+(alu0+32)));
  half val9 = (*(data2_49152+(alu0+96)));
  half val10 = (*(data2_49152+(alu0+100)));
  half val11 = (*(data2_49152+(alu0+104)));
  half val12 = (*(data2_49152+(alu0+108)));
  half val13 = (*(data2_49152+(alu0+112)));
  half val14 = (*(data2_49152+(alu0+116)));
  half val15 = (*(data2_49152+(alu0+120)));
  half val16 = (*(data2_49152+(alu0+124)));
  half val17 = (*(data2_49152+(alu0+128)));
  half val18 = (*(data2_49152+(alu0+192)));
  half val19 = (*(data2_49152+(alu0+196)));
  half val20 = (*(data2_49152+(alu0+200)));
  half val21 = (*(data2_49152+(alu0+204)));
  half val22 = (*(data2_49152+(alu0+208)));
  half val23 = (*(data2_49152+(alu0+212)));
  half val24 = (*(data2_49152+(alu0+216)));
  half val25 = (*(data2_49152+(alu0+220)));
  half val26 = (*(data2_49152+(alu0+224)));
  half val27 = (*(data2_49152+(alu0+288)));
  half val28 = (*(data2_49152+(alu0+292)));
  half val29 = (*(data2_49152+(alu0+296)));
  half val30 = (*(data2_49152+(alu0+300)));
  half val31 = (*(data2_49152+(alu0+304)));
  half val32 = (*(data2_49152+(alu0+308)));
  half val33 = (*(data2_49152+(alu0+312)));
  half val34 = (*(data2_49152+(alu0+316)));
  half val35 = (*(data2_49152+(alu0+320)));
  int alu1 = (idx1+(idx2<<3));
  half val36 = (*(data3_1024+alu1));
  half val37 = (*(data3_1024+(alu1+2)));
  half val38 = (*(data3_1024+(alu1+4)));
  half val39 = (*(data3_1024+(alu1+6)));
  int idx0 = get_global_id(0); /* 8 */
  int alu2 = (idx2+(idx0<<10));
  float4 val40 = read_imagef(data1_1_4096_4, smp, (int2)((alu2+-4736),0));
  float4 val41 = read_imagef(data1_1_4096_4, smp, (int2)((alu2+-3712),0));
  float4 val42 = ((3<idx0)?read_imagef(data1_1_4096_4, smp, (int2)((alu2+-2688),0)):cast0);
  float4 val43 = ((idx0<4)?read_imagef(data1_1_4096_4, smp, (int2)((alu2+-512),0)):cast0);
  float4 val44 = read_imagef(data1_1_4096_4, smp, (int2)((alu2+512),0));
  float4 val45 = read_imagef(data1_1_4096_4, smp, (int2)((alu2+1536),0));
  int alu3 = (idx0>>2);
  int alu4 = (idx2+(alu3<<9));
  int alu5 = (idx0&3);
  int alu6 = (alu4+(alu5<<10));
  float4 val46 = read_imagef(data1_1_4096_4, smp, (int2)(alu6,0));
  int alu7 = (alu4+(((idx0+1)&3)<<10));
  bool alu8 = (alu5<3);
  float4 val47 = (alu8?read_imagef(data1_1_4096_4, smp, (int2)(alu7,0)):cast0);
  int alu9 = (alu4+(((idx0+3)&3)<<10));
  bool alu10 = (0<alu5);
  float4 val48 = (alu10?read_imagef(data1_1_4096_4, smp, (int2)(alu9,0)):cast0);
  float4 val49 = read_imagef(data1_1_4096_4, smp, (int2)((alu6+128),0));
  float4 val50 = read_imagef(data1_1_4096_4, smp, (int2)((alu6+256),0));
  float4 val51 = read_imagef(data1_1_4096_4, smp, (int2)((alu6+384),0));
  float4 val52 = (alu8?read_imagef(data1_1_4096_4, smp, (int2)((alu7+128),0)):cast0);
  float4 val53 = (alu8?read_imagef(data1_1_4096_4, smp, (int2)((alu7+256),0)):cast0);
  float4 val54 = (alu8?read_imagef(data1_1_4096_4, smp, (int2)((alu7+384),0)):cast0);
  float4 val55 = (alu10?read_imagef(data1_1_4096_4, smp, (int2)((alu9+128),0)):cast0);
  float4 val56 = (alu10?read_imagef(data1_1_4096_4, smp, (int2)((alu9+256),0)):cast0);
  float4 val57 = (alu10?read_imagef(data1_1_4096_4, smp, (int2)((alu9+384),0)):cast0);
  float cast1 = ((float)(val0));
  float cast2 = ((float)(val1));
  float cast3 = ((float)(val2));
  float cast4 = ((float)(val3));
  float cast5 = ((float)(val4));
  float cast6 = ((float)(val5));
  float cast7 = ((float)(val6));
  float cast8 = ((float)(val7));
  float cast9 = ((float)(val8));
  float cast10 = ((float)(val36));
  float cast11 = ((float)(val9));
  float cast12 = ((float)(val10));
  float cast13 = ((float)(val11));
  float cast14 = ((float)(val12));
  float cast15 = ((float)(val13));
  float cast16 = ((float)(val14));
  float cast17 = ((float)(val15));
  float cast18 = ((float)(val16));
  float cast19 = ((float)(val17));
  float cast20 = ((float)(val37));
  float cast21 = ((float)(val18));
  float cast22 = ((float)(val19));
  float cast23 = ((float)(val20));
  float cast24 = ((float)(val21));
  float cast25 = ((float)(val22));
  float cast26 = ((float)(val23));
  float cast27 = ((float)(val24));
  float cast28 = ((float)(val25));
  float cast29 = ((float)(val26));
  float cast30 = ((float)(val38));
  float cast31 = ((float)(val27));
  float cast32 = ((float)(val28));
  float cast33 = ((float)(val29));
  float cast34 = ((float)(val30));
  float cast35 = ((float)(val31));
  float cast36 = ((float)(val32));
  float cast37 = ((float)(val33));
  float cast38 = ((float)(val34));
  float cast39 = ((float)(val35));
  float cast40 = ((float)(val39));
  int alu11 = ((idx1<<3)+(idx2<<6)+alu3+(alu5<<1));
  write_imagef(data0_1_8192_4, (int2)((alu11+16),0), (float4)(((val40.y*cast11)+(val48.y*cast12)+(val55.y*cast13)+(val41.y*cast14)+(val46.y*cast15)+(val49.y*cast16)+(val42.y*cast17)+(val47.y*cast18)+(val52.y*cast19)+cast20),((val48.y*cast11)+(val55.y*cast12)+(val56.y*cast13)+(val46.y*cast14)+(val49.y*cast15)+(val50.y*cast16)+(val47.y*cast17)+(val52.y*cast18)+(val53.y*cast19)+cast20),((val55.y*cast11)+(val56.y*cast12)+(val57.y*cast13)+(val49.y*cast14)+(val50.y*cast15)+(val51.y*cast16)+(val52.y*cast17)+(val53.y*cast18)+(val54.y*cast19)+cast20),((val56.y*cast11)+(val57.y*cast12)+(val43.y*cast13)+(val50.y*cast14)+(val51.y*cast15)+(val44.y*cast16)+(val53.y*cast17)+(val54.y*cast18)+(val45.y*cast19)+cast20)));
  write_imagef(data0_1_8192_4, (int2)((alu11+32),0), (float4)(((val40.z*cast21)+(val48.z*cast22)+(val55.z*cast23)+(val41.z*cast24)+(val46.z*cast25)+(val49.z*cast26)+(val42.z*cast27)+(val47.z*cast28)+(val52.z*cast29)+cast30),((val48.z*cast21)+(val55.z*cast22)+(val56.z*cast23)+(val46.z*cast24)+(val49.z*cast25)+(val50.z*cast26)+(val47.z*cast27)+(val52.z*cast28)+(val53.z*cast29)+cast30),((val55.z*cast21)+(val56.z*cast22)+(val57.z*cast23)+(val49.z*cast24)+(val50.z*cast25)+(val51.z*cast26)+(val52.z*cast27)+(val53.z*cast28)+(val54.z*cast29)+cast30),((val56.z*cast21)+(val57.z*cast22)+(val43.z*cast23)+(val50.z*cast24)+(val51.z*cast25)+(val44.z*cast26)+(val53.z*cast27)+(val54.z*cast28)+(val45.z*cast29)+cast30)));
  write_imagef(data0_1_8192_4, (int2)((alu11+48),0), (float4)(((val40.w*cast31)+(val48.w*cast32)+(val55.w*cast33)+(val41.w*cast34)+(val46.w*cast35)+(val49.w*cast36)+(val42.w*cast37)+(val47.w*cast38)+(val52.w*cast39)+cast40),((val48.w*cast31)+(val55.w*cast32)+(val56.w*cast33)+(val46.w*cast34)+(val49.w*cast35)+(val50.w*cast36)+(val47.w*cast37)+(val52.w*cast38)+(val53.w*cast39)+cast40),((val55.w*cast31)+(val56.w*cast32)+(val57.w*cast33)+(val49.w*cast34)+(val50.w*cast35)+(val51.w*cast36)+(val52.w*cast37)+(val53.w*cast38)+(val54.w*cast39)+cast40),((val56.w*cast31)+(val57.w*cast32)+(val43.w*cast33)+(val50.w*cast34)+(val51.w*cast35)+(val44.w*cast36)+(val53.w*cast37)+(val54.w*cast38)+(val45.w*cast39)+cast40)));
  write_imagef(data0_1_8192_4, (int2)(alu11,0), (float4)(((val40.x*cast1)+(val48.x*cast2)+(val55.x*cast3)+(val41.x*cast4)+(val46.x*cast5)+(val49.x*cast6)+(val42.x*cast7)+(val47.x*cast8)+(val52.x*cast9)+cast10),((val48.x*cast1)+(val55.x*cast2)+(val56.x*cast3)+(val46.x*cast4)+(val49.x*cast5)+(val50.x*cast6)+(val47.x*cast7)+(val52.x*cast8)+(val53.x*cast9)+cast10),((val55.x*cast1)+(val56.x*cast2)+(val57.x*cast3)+(val49.x*cast4)+(val50.x*cast5)+(val51.x*cast6)+(val52.x*cast7)+(val53.x*cast8)+(val54.x*cast9)+cast10),((val56.x*cast1)+(val57.x*cast2)+(val43.x*cast3)+(val50.x*cast4)+(val51.x*cast5)+(val44.x*cast6)+(val53.x*cast7)+(val54.x*cast8)+(val45.x*cast9)+cast10)));
}

__kernel void r_256_4_8_4(write_only image2d_t data0_1_264_4, read_only image2d_t data1_1_8192_4) {
  float buf0[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_1_8192_4, smp, (int2)((alu4+8),0));
    float4 val1 = read_imagef(data1_1_8192_4, smp, (int2)((alu4+16),0));
    float4 val2 = read_imagef(data1_1_8192_4, smp, (int2)((alu4+24),0));
    float4 val3 = read_imagef(data1_1_8192_4, smp, (int2)(alu4,0));
    *(buf0+0) = ((*(buf0+0))+val3.x+val3.y+val3.z+val3.w);
    *(buf0+1) = ((*(buf0+1))+val0.x+val0.y+val0.z+val0.w);
    *(buf0+2) = ((*(buf0+2))+val1.x+val1.y+val1.z+val1.w);
    *(buf0+3) = ((*(buf0+3))+val2.x+val2.y+val2.z+val2.w);
  }
  write_imagef(data0_1_264_4, (int2)(idx0,0), (float4)(((*(buf0+0))*0.03125f),((*(buf0+1))*0.03125f),((*(buf0+2))*0.03125f),((*(buf0+3))*0.03125f)));
}

__kernel void r_16_16_4_16_4(write_only image2d_t data0_1_24_4, read_only image2d_t data1_1_264_4, read_only image2d_t data2_16_1088_4, read_only image2d_t data3_1_16_4) {
  float buf1[4];
  __attribute__ ((aligned (16))) __local float buf2[64];
  int gidx0 = get_group_id(0); /* 16 */
  int lidx0 = get_local_id(0); /* 16 */
    float4 val0 = read_imagef(data1_1_264_4, smp, (int2)(((lidx0<<4)+Ridx0),0));
    int alu4 = ((lidx0<<6)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_16_1088_4, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_16_1088_4, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_16_1088_4, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_16_1088_4, smp, (int2)(alu4,gidx0));
    *(buf0+0) = ((*(buf0+0))+(val0.x*val4.x)+(val0.y*val4.y)+(val0.z*val4.z)+(val0.w*val4.w));
    *(buf0+1) = ((*(buf0+1))+(val0.x*val1.x)+(val0.y*val1.y)+(val0.z*val1.z)+(val0.w*val1.w));
    *(buf0+2) = ((*(buf0+2))+(val0.x*val2.x)+(val0.y*val2.y)+(val0.z*val2.z)+(val0.w*val2.w));
    *(buf0+3) = ((*(buf0+3))+(val0.x*val3.x)+(val0.y*val3.y)+(val0.z*val3.z)+(val0.w*val3.w));
  }
  *((__local float4*)((buf2+(lidx0<<2)))) = (float4)((*(buf0+0)),(*(buf0+1)),(*(buf0+2)),(*(buf0+3)));
  barrier(CLK_LOCAL_MEM_FENCE);
  *(buf1+0) = 0.0f;
  *(buf1+1) = 0.0f;
  *(buf1+2) = 0.0f;
  *(buf1+3) = 0.0f;
  for (int Ridx106 = 0; Ridx106 < 16; Ridx106++) {
    float4 val5 = (*((__local float4*)((buf2+(Ridx106<<2)))));
    *(buf1+0) = ((*(buf1+0))+val5.x);
    *(buf1+1) = ((*(buf1+1))+val5.y);
    *(buf1+2) = ((*(buf1+2))+val5.z);
    *(buf1+3) = ((*(buf1+3))+val5.w);
  }
  float4 val6 = read_imagef(data3_1_16_4, smp, (int2)(gidx0,0));
  float alu21 = ((*(buf1+0))+val6.x);
  float alu22 = ((*(buf1+1))+val6.y);
  float alu23 = ((*(buf1+2))+val6.z);
  float alu24 = ((*(buf1+3))+val6.w);
  float alu25 = ((0.0f<alu21)?((float)(((half)(alu21)))):0.0f);
  float alu26 = ((0.0f<alu22)?((float)(((half)(alu22)))):0.0f);
  float alu27 = ((0.0f<alu23)?((float)(((half)(alu23)))):0.0f);
  float alu28 = ((0.0f<alu24)?((float)(((half)(alu24)))):0.0f);
  if ((lidx0==0)) {
    write_imagef(data0_1_24_4, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_256_4_16_4(write_only image2d_t data0_1_256_4, read_only image2d_t data1_1_24_4, read_only image2d_t data2_256_128_4, read_only image2d_t data3_1_256_4) {
  int3 cast0 = (int3)(1,256,4);
    float4 val0 = read_imagef(data1_1_24_4, smp, (int2)(Ridx0,0));
    int alu4 = (Ridx0<<2);
    float4 val1 = read_imagef(data2_256_128_4, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_256_128_4, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_256_128_4, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_256_128_4, smp, (int2)(alu4,idx0));
  }
  float4 val5 = read_imagef(data3_1_256_4, smp, (int2)(idx0,0));
  write_imagef(data0_1_256_4, (int2)(idx0,0), (float4)((1.0f+exp2((((*(buf0+0))+val5.x)*-1.4426950216293335f))),(1.0f+exp2((((*(buf0+1))+val5.y)*-1.4426950216293335f))),(1.0f+exp2((((*(buf0+2))+val5.z)*-1.4426950216293335f))),(1.0f+exp2((((*(buf0+3))+val5.w)*-1.4426950216293335f)))));
}

__kernel void r_256_4_8_4n1(write_only image2d_t data0_1_264_4, read_only image2d_t data1_1_8192_4, read_only image2d_t data2_1_256_4) {
  float4 val0 = read_imagef(data2_1_256_4, smp, (int2)(idx0,0));
  float alu0 = (1/val0.x);
  float alu1 = (1/val0.y);
  float alu2 = (1/val0.z);
  float alu3 = (1/val0.w);
    int alu8 = ((idx0<<5)+Ridx0);
    float4 val1 = read_imagef(data1_1_8192_4, smp, (int2)((alu8+8),0));
    float4 val2 = read_imagef(data1_1_8192_4, smp, (int2)((alu8+16),0));
    float4 val3 = read_imagef(data1_1_8192_4, smp, (int2)((alu8+24),0));
    float4 val4 = read_imagef(data1_1_8192_4, smp, (int2)(alu8,0));
    float alu9 = (val1.x*alu1);
    float alu10 = (val1.y*alu1);
    float alu11 = (val1.z*alu1);
    float alu12 = (val1.w*alu1);
    float alu13 = (val2.x*alu2);
    float alu14 = (val2.y*alu2);
    float alu15 = (val2.z*alu2);
    float alu16 = (val2.w*alu2);
    float alu17 = (val3.x*alu3);
    float alu18 = (val3.y*alu3);
    float alu19 = (val3.z*alu3);
    float alu20 = (val3.w*alu3);
    float alu21 = (val4.x*alu0);
    float alu22 = (val4.y*alu0);
    float alu23 = (val4.z*alu0);
    float alu24 = (val4.w*alu0);
    *(buf0+0) = ((*(buf0+0))+(val4.x*(1/(val0.x*(1.0f+exp2(((alu21+(0.044714998453855515f*alu21*alu21*alu21))*-2.302208185195923f))))))+(val4.y*(1/(val0.x*(1.0f+exp2(((alu22+(0.044714998453855515f*alu22*alu22*alu22))*-2.302208185195923f))))))+(val4.z*(1/(val0.x*(1.0f+exp2(((alu23+(0.044714998453855515f*alu23*alu23*alu23))*-2.302208185195923f))))))+(val4.w*(1/(val0.x*(1.0f+exp2(((alu24+(0.044714998453855515f*alu24*alu24*alu24))*-2.302208185195923f)))))));
    *(buf0+1) = ((*(buf0+1))+(val1.x*(1/(val0.y*(1.0f+exp2(((alu9+(0.044714998453855515f*alu9*alu9*alu9))*-2.302208185195923f))))))+(val1.y*(1/(val0.y*(1.0f+exp2(((alu10+(0.044714998453855515f*alu10*alu10*alu10))*-2.302208185195923f))))))+(val1.z*(1/(val0.y*(1.0f+exp2(((alu11+(0.044714998453855515f*alu11*alu11*alu11))*-2.302208185195923f))))))+(val1.w*(1/(val0.y*(1.0f+exp2(((alu12+(0.044714998453855515f*alu12*alu12*alu12))*-2.302208185195923f)))))));
    *(buf0+2) = ((*(buf0+2))+(val2.x*(1/(val0.z*(1.0f+exp2(((alu13+(0.044714998453855515f*alu13*alu13*alu13))*-2.302208185195923f))))))+(val2.y*(1/(val0.z*(1.0f+exp2(((alu14+(0.044714998453855515f*alu14*alu14*alu14))*-2.302208185195923f))))))+(val2.z*(1/(val0.z*(1.0f+exp2(((alu15+(0.044714998453855515f*alu15*alu15*alu15))*-2.302208185195923f))))))+(val2.w*(1/(val0.z*(1.0f+exp2(((alu16+(0.044714998453855515f*alu16*alu16*alu16))*-2.302208185195923f)))))));
    *(buf0+3) = ((*(buf0+3))+(val3.x*(1/(val0.w*(1.0f+exp2(((alu17+(0.044714998453855515f*alu17*alu17*alu17))*-2.302208185195923f))))))+(val3.y*(1/(val0.w*(1.0f+exp2(((alu18+(0.044714998453855515f*alu18*alu18*alu18))*-2.302208185195923f))))))+(val3.z*(1/(val0.w*(1.0f+exp2(((alu19+(0.044714998453855515f*alu19*alu19*alu19))*-2.302208185195923f))))))+(val3.w*(1/(val0.w*(1.0f+exp2(((alu20+(0.044714998453855515f*alu20*alu20*alu20))*-2.302208185195923f)))))));
  }
}

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

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

__kernel void r_256_4_128_4(write_only image2d_t data0_1_264_4, read_only image2d_t data1_1_136_4, read_only image2d_t data2_256_576_4, read_only image2d_t data3_1_256_4) {
    float4 val0 = read_imagef(data1_1_136_4, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data2_256_576_4, smp, (int2)((alu4+1),idx0));
    float4 val2 = read_imagef(data2_256_576_4, smp, (int2)((alu4+2),idx0));
    float4 val3 = read_imagef(data2_256_576_4, smp, (int2)((alu4+3),idx0));
    float4 val4 = read_imagef(data2_256_576_4, smp, (int2)(alu4,idx0));
  }
  float alu10 = ((*(buf0+0))+val5.x);
  float alu11 = ((*(buf0+1))+val5.y);
  float alu12 = ((*(buf0+2))+val5.z);
  float alu13 = ((*(buf0+3))+val5.w);
  float alu14 = ((0.0f<alu10)?((float)(((half)(alu10)))):0.0f);
  float alu15 = ((0.0f<alu11)?((float)(((half)(alu11)))):0.0f);
  float alu16 = ((0.0f<alu12)?((float)(((half)(alu12)))):0.0f);
  float alu17 = ((0.0f<alu13)?((float)(((half)(alu13)))):0.0f);
  write_imagef(data0_1_264_4, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_128_16_4_16_4(write_only image2d_t data0_1_136_4, read_only image2d_t data1_1_136_4, read_only image2d_t data2_1_264_4, read_only image2d_t data3_128_1088_4, read_only image2d_t data4_1_128_4) {
  int3 cast0 = (int3)(1,136,4);
    float4 val0 = read_imagef(data2_1_264_4, smp, (int2)(((lidx0<<4)+Ridx0),0));
    float4 val1 = read_imagef(data3_128_1088_4, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data3_128_1088_4, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data3_128_1088_4, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data3_128_1088_4, smp, (int2)(alu4,gidx0));
  }
  }
  float4 val6 = read_imagef(data1_1_136_4, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data4_1_128_4, smp, (int2)(gidx0,0));
  float alu21 = (val6.x+(*(buf1+0))+val7.x);
  float alu22 = (val6.y+(*(buf1+1))+val7.y);
  float alu23 = (val6.z+(*(buf1+2))+val7.z);
  float alu24 = (val6.w+(*(buf1+3))+val7.w);
  }
}

__kernel void r_128_16_4_8_4(write_only image2d_t data0_1_128_4, read_only image2d_t data1_1_136_4, read_only image2d_t data2_128_576_4, read_only image2d_t data3_1_128_4) {
  int3 cast0 = (int3)(1,128,4);
    float4 val0 = read_imagef(data1_1_136_4, smp, (int2)(((lidx0<<3)+Ridx0),0));
    int alu4 = ((lidx0<<5)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_128_576_4, smp, (int2)((alu4+1),gidx0));
    float4 val2 = read_imagef(data2_128_576_4, smp, (int2)((alu4+2),gidx0));
    float4 val3 = read_imagef(data2_128_576_4, smp, (int2)((alu4+3),gidx0));
    float4 val4 = read_imagef(data2_128_576_4, smp, (int2)(alu4,gidx0));
  }
  for (int Ridx105 = 0; Ridx105 < 16; Ridx105++) {
    float4 val5 = (*((__local float4*)((buf2+(Ridx105<<2)))));
  }
    write_imagef(data0_1_128_4, (int2)(gidx0,0), (float4)(((*(buf1+0))+val6.x),((*(buf1+1))+val6.y),((*(buf1+2))+val6.z),((*(buf1+3))+val6.w)));
  }
}

__kernel void r_16_8_4(__global float* data0_1, read_only image2d_t data1_1_128_4) {
  float buf0[1];
  float buf1[1];
  __attribute__ ((aligned (16))) __local float buf2[16];
    float4 val0 = read_imagef(data1_1_128_4, smp, (int2)(((lidx0<<3)+Ridx0),0));
    *(buf0+0) = ((*(buf0+0))+(val0.x*val0.x)+(val0.y*val0.y)+(val0.z*val0.z)+(val0.w*val0.w));
  }
  *(buf2+lidx0) = (*(buf0+0));
  for (int Ridx102 = 0; Ridx102 < 16; Ridx102++) {
    float val1 = (*(buf2+Ridx102));
    *(buf1+0) = ((*(buf1+0))+val1);
  }
  float alu8 = sqrt((*(buf1+0)));
  float alu9 = ((alu8<0.0f)?0.0f:alu8);
    *(data0_1+0) = alu9;
  }
}

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

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

__kernel void r_8_16_4_8_4(write_only image2d_t data0_1_16_4, read_only image2d_t data1_1_136_4, read_only image2d_t data2_1_4160_4, read_only image2d_t data3_1_8_4) {
  int gidx0 = get_group_id(0); /* 8 */
    float4 val1 = read_imagef(data2_1_4160_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1_4160_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1_4160_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1_4160_4, smp, (int2)(alu4,0));
  }
  }
  float4 val6 = read_imagef(data3_1_8_4, smp, (int2)(gidx0,0));
    write_imagef(data0_1_16_4, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_16_16_4_4(write_only image2d_t data0_1_24_4, read_only image2d_t data1_1_24_4, read_only image2d_t data2_1_1152_4, read_only image2d_t data3_1_16_4) {
  int3 cast0 = (int3)(1,24,4);
  __attribute__ ((aligned (16))) __local float buf1[64];
  float4 val0 = read_imagef(data1_1_24_4, smp, (int2)(lidx0,0));
  int alu0 = (lidx0<<2);
  int alu1 = ((gidx0*72)+alu0);
  float4 val1 = read_imagef(data2_1_1152_4, smp, (int2)((alu1+1),0));
  float4 val2 = read_imagef(data2_1_1152_4, smp, (int2)((alu1+2),0));
  float4 val3 = read_imagef(data2_1_1152_4, smp, (int2)((alu1+3),0));
  float4 val4 = read_imagef(data2_1_1152_4, smp, (int2)(alu1,0));
  *((__local float4*)((buf1+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)));
    float4 val5 = (*((__local float4*)((buf1+(Ridx106<<2)))));
    *(buf0+0) = ((*(buf0+0))+val5.x);
    *(buf0+1) = ((*(buf0+1))+val5.y);
    *(buf0+2) = ((*(buf0+2))+val5.z);
    *(buf0+3) = ((*(buf0+3))+val5.w);
  }
  float alu13 = ((*(buf0+0))+val6.x);
  float alu14 = ((*(buf0+1))+val6.y);
  float alu15 = ((*(buf0+2))+val6.z);
  float alu16 = ((*(buf0+3))+val6.w);
  float alu18 = ((0.0f<alu14)?((float)(((half)(alu14)))):0.0f);
  float alu19 = ((0.0f<alu15)?((float)(((half)(alu15)))):0.0f);
  float alu20 = ((0.0f<alu16)?((float)(((half)(alu16)))):0.0f);
    write_imagef(data0_1_24_4, (int2)(gidx0,0), (float4)(alu17,alu18,alu19,alu20));
  }
}

__kernel void r_8_4_8_4(write_only image2d_t data0_1_16_4, read_only image2d_t data1_1_16_4, read_only image2d_t data2_1_320_4, read_only image2d_t data3_1_8_4) {
  int3 cast0 = (int3)(1,16,4);
    float4 val0 = read_imagef(data1_1_16_4, smp, (int2)(Ridx0,0));
    int alu4 = ((idx0*40)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_1_320_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1_320_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1_320_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1_320_4, smp, (int2)(alu4,0));
  }
  float4 val5 = read_imagef(data3_1_8_4, smp, (int2)(idx0,0));
  write_imagef(data0_1_16_4, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_16_16_4_4n1(write_only image2d_t data0_1_24_4, read_only image2d_t data1_1_24_4, read_only image2d_t data2_1_24_4, read_only image2d_t data3_1_1152_4, read_only image2d_t data4_1_16_4) {
  float4 val0 = read_imagef(data2_1_24_4, smp, (int2)(lidx0,0));
  float4 val1 = read_imagef(data3_1_1152_4, smp, (int2)((alu1+1),0));
  float4 val2 = read_imagef(data3_1_1152_4, smp, (int2)((alu1+2),0));
  float4 val3 = read_imagef(data3_1_1152_4, smp, (int2)((alu1+3),0));
  float4 val4 = read_imagef(data3_1_1152_4, smp, (int2)(alu1,0));
  }
  float4 val6 = read_imagef(data1_1_24_4, smp, (int2)(gidx0,0));
  float4 val7 = read_imagef(data4_1_16_4, smp, (int2)(gidx0,0));
  float alu13 = (val6.x+(*(buf0+0))+val7.x);
  float alu14 = (val6.y+(*(buf0+1))+val7.y);
  float alu15 = (val6.z+(*(buf0+2))+val7.z);
  float alu16 = (val6.w+(*(buf0+3))+val7.w);
  }
}

__kernel void r_8_4_8_4n1(write_only image2d_t data0_1_16_4, read_only image2d_t data1_1_16_4, read_only image2d_t data2_1_16_4, read_only image2d_t data3_1_320_4, read_only image2d_t data4_1_8_4) {
    float4 val0 = read_imagef(data2_1_16_4, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data3_1_320_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data3_1_320_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data3_1_320_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data3_1_320_4, smp, (int2)(alu4,0));
  }
  float4 val5 = read_imagef(data1_1_16_4, smp, (int2)(idx0,0));
  float4 val6 = read_imagef(data4_1_8_4, smp, (int2)(idx0,0));
  float alu10 = (val5.x+(*(buf0+0))+val6.x);
  float alu11 = (val5.y+(*(buf0+1))+val6.y);
  float alu12 = (val5.z+(*(buf0+2))+val6.z);
  float alu13 = (val5.w+(*(buf0+3))+val6.w);
}

__kernel void r_4_16_4_8_4(write_only image2d_t data0_1_8_4, read_only image2d_t data1_1_136_4, read_only image2d_t data2_1_2080_4, __global half* data3_16) {
  int gidx0 = get_group_id(0); /* 4 */
    float4 val1 = read_imagef(data2_1_2080_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1_2080_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1_2080_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1_2080_4, smp, (int2)(alu4,0));
  }
  }
  half4 val6 = (*((__global half4*)((data3_16+(gidx0<<2)))));
  float alu21 = ((*(buf1+0))+((float)(val6.x)));
  float alu22 = ((*(buf1+1))+((float)(val6.y)));
  float alu23 = ((*(buf1+2))+((float)(val6.z)));
  float alu24 = ((*(buf1+3))+((float)(val6.w)));
    write_imagef(data0_1_8_4, (int2)(gidx0,0), (float4)(alu25,alu26,alu27,alu28));
  }
}

__kernel void r_4_4_4_4(write_only image2d_t data0_1_8_4, read_only image2d_t data1_1_8_4, read_only image2d_t data2_1_96_4, __global half* data3_16) {
  int3 cast0 = (int3)(1,8,4);
  int idx0 = get_global_id(0); /* 4 */
  for (int Ridx0 = 0; Ridx0 < 4; Ridx0++) {
    float4 val0 = read_imagef(data1_1_8_4, smp, (int2)(Ridx0,0));
    int alu4 = ((idx0*24)+(Ridx0<<2));
    float4 val1 = read_imagef(data2_1_96_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data2_1_96_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data2_1_96_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data2_1_96_4, smp, (int2)(alu4,0));
  }
  half4 val5 = (*((__global half4*)((data3_16+(idx0<<2)))));
  float alu10 = ((*(buf0+0))+((float)(val5.x)));
  float alu11 = ((*(buf0+1))+((float)(val5.y)));
  float alu12 = ((*(buf0+2))+((float)(val5.z)));
  float alu13 = ((*(buf0+3))+((float)(val5.w)));
  write_imagef(data0_1_8_4, (int2)(idx0,0), (float4)(alu14,alu15,alu16,alu17));
}

__kernel void r_4_4_4_4n1(write_only image2d_t data0_1_8_4, read_only image2d_t data1_1_8_4, read_only image2d_t data2_1_8_4, read_only image2d_t data3_1_96_4, __global half* data4_16) {
    float4 val0 = read_imagef(data2_1_8_4, smp, (int2)(Ridx0,0));
    float4 val1 = read_imagef(data3_1_96_4, smp, (int2)((alu4+1),0));
    float4 val2 = read_imagef(data3_1_96_4, smp, (int2)((alu4+2),0));
    float4 val3 = read_imagef(data3_1_96_4, smp, (int2)((alu4+3),0));
    float4 val4 = read_imagef(data3_1_96_4, smp, (int2)(alu4,0));
  }
  half4 val5 = (*((__global half4*)((data4_16+(idx0<<2)))));
  float4 val6 = read_imagef(data1_1_8_4, smp, (int2)(idx0,0));
  float alu10 = (val6.x+(*(buf0+0))+((float)(val5.x)));
  float alu11 = (val6.y+(*(buf0+1))+((float)(val5.y)));
  float alu12 = (val6.z+(*(buf0+2))+((float)(val5.z)));
  float alu13 = (val6.w+(*(buf0+3))+((float)(val5.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_1_24_4, read_only image2d_t data2_1_1008_4, __global half* data3_55, read_only image2d_t data4_1_16_4, read_only image2d_t data5_1_320_4, __global half* data6_32, read_only image2d_t data7_1_16_4, read_only image2d_t data8_1_120_4, __global half* data9_12, read_only image2d_t data10_1_16_4, read_only image2d_t data11_1_80_4, __global half* data12_6, read_only image2d_t data13_1_16_4, read_only image2d_t data14_1_120_4, __global half* data15_12, read_only image2d_t data16_1_24_4, read_only image2d_t data17_1_9504_4, __global half* data18_528, read_only image2d_t data19_1_8_4, read_only image2d_t data20_1_48_4, __global half* data21_8, read_only image2d_t data22_1_16_4, read_only image2d_t data23_1_2640_4, __global half* data24_264, read_only image2d_t data25_1_24_4, read_only image2d_t data26_1_2592_4, __global half* data27_144, __global half* data28_144, read_only image2d_t data29_1_8_4, read_only image2d_t data30_1_24_4, __global half* data31_3, __global float* data32_512, __global float* data33_1) {
  int3 cast2 = (int3)(1,120,4);
  int3 cast3 = (int3)(1,8,4);
  float buf2[1];
  float buf3[1];
  float buf4[1];
  float buf5[1];
  float buf6[1];
  float buf7[1];
  float buf8[1];
  float buf9[1];
  int idx0 = get_global_id(0); /* 1576 */
  float4 cast4 = (float4)(0.0f,0.0f,0.0f,0.0f);
  bool alu0 = (idx0<55);
  *(buf9+0) = 0.0f;
    float4 val1 = (alu0?read_imagef(data2_1_1008_4, smp, (int2)(((Ridx0<<2)+(idx0&3)+((idx0>>2)*72)),0)):cast4);
    *(buf9+0) = ((*(buf9+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)*40);
  int alu6 = (alu4&3);
  *(buf8+0) = 0.0f;
  for (int Ridx2 = 0; Ridx2 < 8; Ridx2++) {
    float4 val2 = read_imagef(data4_1_16_4, smp, (int2)(Ridx2,0));
    float4 val3 = read_imagef(data5_1_320_4, smp, (int2)(((Ridx2<<2)+alu6+alu5+-560),0));
    *(buf8+0) = ((*(buf8+0))+(val2.x*val3.x)+(val2.y*val3.y)+(val2.z*val3.z)+(val2.w*val3.w));
  }
  *(buf7+0) = 0.0f;
  for (int Ridx4 = 0; Ridx4 < 8; Ridx4++) {
    float4 val4 = read_imagef(data7_1_16_4, smp, (int2)(Ridx4,0));
    float4 val5 = read_imagef(data8_1_120_4, smp, (int2)(((Ridx4<<2)+alu6+alu5+-880),0));
    *(buf7+0) = ((*(buf7+0))+(val4.x*val5.x)+(val4.y*val5.y)+(val4.z*val5.z)+(val4.w*val5.w));
  }
  bool alu13 = (idx0<105);
  *(buf5+0) = 0.0f;
  for (int Ridx6 = 0; Ridx6 < 8; Ridx6++) {
    float4 val6 = read_imagef(data10_1_16_4, smp, (int2)(Ridx6,0));
    float4 val7 = (alu13?read_imagef(data11_1_80_4, smp, (int2)(((Ridx6<<2)+alu6+alu5+-1000),0)):cast4);
    *(buf5+0) = ((*(buf5+0))+(val6.x*val7.x)+(val6.y*val7.y)+(val6.z*val7.z)+(val6.w*val7.w));
  }
  int alu17 = (idx0+3);
  int alu18 = (alu17>>2);
  int alu19 = (alu18*40);
  int alu20 = (alu17&3);
  *(buf4+0) = 0.0f;
  for (int Ridx8 = 0; Ridx8 < 8; Ridx8++) {
    float4 val8 = read_imagef(data13_1_16_4, smp, (int2)(Ridx8,0));
    float4 val9 = read_imagef(data14_1_120_4, smp, (int2)(((Ridx8<<2)+alu20+alu19+-1080),0));
    *(buf4+0) = ((*(buf4+0))+(val8.x*val9.x)+(val8.y*val9.y)+(val8.z*val9.z)+(val8.w*val9.w));
  }
  int alu24 = (alu18*72);
  *(buf3+0) = 0.0f;
  for (int Ridx10 = 0; Ridx10 < 16; Ridx10++) {
    float4 val10 = read_imagef(data16_1_24_4, smp, (int2)(Ridx10,0));
    float4 val11 = read_imagef(data17_1_9504_4, smp, (int2)(((Ridx10<<2)+alu20+alu24+-2160),0));
    *(buf3+0) = ((*(buf3+0))+(val10.x*val11.x)+(val10.y*val11.y)+(val10.z*val11.z)+(val10.w*val11.w));
  }
  *(buf2+0) = 0.0f;
  for (int Ridx12 = 0; Ridx12 < 4; Ridx12++) {
    float4 val12 = read_imagef(data19_1_8_4, smp, (int2)(Ridx12,0));
    float4 val13 = read_imagef(data20_1_48_4, smp, (int2)(((Ridx12<<2)+alu20+(alu18*24)+-3888),0));
    *(buf2+0) = ((*(buf2+0))+(val12.x*val13.x)+(val12.y*val13.y)+(val12.z*val13.z)+(val12.w*val13.w));
  }
  for (int Ridx14 = 0; Ridx14 < 8; Ridx14++) {
    float4 val14 = read_imagef(data22_1_16_4, smp, (int2)(Ridx14,0));
    float4 val15 = read_imagef(data23_1_2640_4, smp, (int2)(((Ridx14<<2)+alu20+alu19+-6560),0));
    *(buf1+0) = ((*(buf1+0))+(val14.x*val15.x)+(val14.y*val15.y)+(val14.z*val15.z)+(val14.w*val15.w));
  }
  for (int Ridx16 = 0; Ridx16 < 16; Ridx16++) {
    float4 val16 = read_imagef(data25_1_24_4, smp, (int2)(Ridx16,0));
    float4 val17 = read_imagef(data26_1_2592_4, smp, (int2)(((Ridx16<<2)+alu20+alu24+-16560),0));
    *(buf0+0) = ((*(buf0+0))+(val16.x*val17.x)+(val16.y*val17.y)+(val16.z*val17.z)+(val16.w*val17.w));
  }
  bool alu37 = (idx0<1064);
  bool alu38 = ((1060<idx0)&alu37);
  *(buf6+0) = 0.0f;
  for (int Ridx18 = 0; Ridx18 < 4; Ridx18++) {
    float4 val18 = read_imagef(data29_1_8_4, smp, (int2)(Ridx18,0));
    float4 val19 = (alu38?read_imagef(data30_1_24_4, smp, (int2)((idx0+(Ridx18<<2)+-1061),0)):cast4);
    *(buf6+0) = ((*(buf6+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 alu42 = ((54<idx0)&(idx0<87));
  half val21 = (alu42?*(data6_32+(idx0+-55)):((half)(0.0f)));
  bool alu43 = ((86<idx0)&(idx0<99));
  half val22 = (alu43?*(data9_12+(idx0+-87)):((half)(0.0f)));
  bool alu44 = ((98<idx0)&alu13);
  half val23 = (alu44?*(data12_6+(idx0+-99)):((half)(0.0f)));
  bool alu45 = ((104<idx0)&(idx0<117));
  half val24 = (alu45?*(data15_12+(idx0+-105)):((half)(0.0f)));
  bool alu46 = ((116<idx0)&(idx0<645));
  half val25 = (alu46?*(data18_528+(idx0+-117)):((half)(0.0f)));
  bool alu47 = ((644<idx0)&(idx0<653));
  half val26 = (alu47?*(data21_8+(idx0+-645)):((half)(0.0f)));
  bool alu48 = ((652<idx0)&(idx0<917));
  half val27 = (alu48?*(data24_264+(idx0+-653)):((half)(0.0f)));
  int alu49 = (idx0+-917);
  bool alu50 = ((916<idx0)&(idx0<1061));
  half val28 = (alu50?*(data27_144+alu49):((half)(0.0f)));
  half val29 = (alu50?*(data28_144+alu49):((half)(0.0f)));
  half val30 = (alu38?*(data31_3+(idx0+-1061)):((half)(0.0f)));
  float val31 = ((1063<idx0)?*(data32_512+(idx0+-1064)):0.0f);
  float val32 = (*(data33_1+0));
  float alu51 = (alu0?((*(buf9+0))+((float)(val20))):0.0f);
  float alu52 = (alu42?((*(buf8+0))+((float)(val21))):0.0f);
  float alu53 = (alu43?((*(buf7+0))+((float)(val22))):0.0f);
  float alu54 = (alu44?((*(buf5+0))+((float)(val23))):0.0f);
  float alu55 = (alu45?((*(buf4+0))+((float)(val24))):0.0f);
  float alu56 = (alu46?((*(buf3+0))+((float)(val25))):0.0f);
  float alu57 = (alu47?((*(buf2+0))+((float)(val26))):0.0f);
  float alu58 = (alu48?((*(buf1+0))+((float)(val27))):0.0f);
  float alu59 = (alu50?(((*(buf0+0))+((float)(val28)))*((float)(val29))):0.0f);
  float alu60 = (alu38?((*(buf6+0))+((float)(val30))):0.0f);
  float alu61 = (alu37?0.0f:(val31*(1/val32)));
  *(data0_1576+idx0) = (alu51+alu52+alu53+alu54+alu55+alu56+alu57+alu58+alu59+alu60+alu61);
}