Skip to content

Instantly share code, notes, and snippets.

@pashu123
Created October 11, 2022 17:32
Show Gist options
  • Save pashu123/30c875d8a72e1b48387ba3a800a85ba6 to your computer and use it in GitHub Desktop.
Save pashu123/30c875d8a72e1b48387ba3a800a85ba6 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
#map0 = affine_map<() -> ()>
#map1 = affine_map<(d0) -> (0)>
#map2 = affine_map<(d0) -> (d0)>
#map3 = affine_map<(d0) -> ()>
#map4 = affine_map<(d0, d1) -> (d0, 0)>
#map5 = affine_map<(d0, d1) -> (0, d1)>
#map6 = affine_map<(d0, d1) -> (d0, d1)>
#map7 = affine_map<(d0, d1) -> ()>
#map8 = affine_map<(d0, d1) -> (d1, d0)>
#map9 = affine_map<(d0, d1) -> (d1)>
#map10 = affine_map<(d0, d1, d2, d3) -> (d1)>
#map11 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>
#map12 = affine_map<(d0, d1, d2, d3) -> (d0, d1, 0, 0)>
#map13 = affine_map<(d0, d1, d2, d3) -> ()>
#map14 = affine_map<(d0, d1, d2, d3) -> (d1, 0, 0)>
#map15 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, d2, d3, d4)>
#map16 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, d3, d4)>
#map17 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, 0, 0)>
#map18 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, d2, 0, 0)>
#map19 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d3, d1)>
#map20 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map21 = affine_map<(d0, d1, d2) -> (d0, d1, 0)>
#map22 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)>
#map23 = affine_map<(d0, d1, d2) -> ()>
#map24 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d1, d3)>
#map25 = affine_map<(d0, d1, d2) -> (d0, d2, d1)>
#map26 = affine_map<(d0, d1, d2, d3) -> (d0, d3, d1, d2)>
module attributes {torch.debug_module_name = "_lambda"} {
func.func @forward(%arg0: tensor<2x4x64x64xf32>, %arg1: tensor<i64>, %arg2: tensor<2x77x768xf32>) -> tensor<2x4x64x64xf32> {
%cst = arith.constant dense<0.079056941504209485> : tensor<f64>
%cst_0 = arith.constant dense<0.11180339887498948> : tensor<f64>
%cst_1 = arith.constant dense<0.15811388300841897> : tensor<f64>
%cst_2 = arith.constant dense<9.9999999999999995E-7> : tensor<f64>
%cst_3 = arith.constant dense<1.000000e+00> : tensor<f64>
%cst_4 = arith.constant dense<1.000000e-05> : tensor<f64>
%cst_5 = arith.constant dense<1> : tensor<i64>
%cst_6 = arith.constant dense<160> : tensor<i64>
%cst_7 = arith.constant dense<-9.2103403719761836> : tensor<f64>
%cst_8 = arith.constant dense_resource<__elided__> : tensor<1280x320xf32>
%cst_9 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_10 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_11 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_12 = arith.constant dense_resource<__elided__> : tensor<320x4x3x3xf32>
%cst_13 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_14 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_15 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_16 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_17 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_18 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_19 = arith.constant dense_resource<__elided__> : tensor<320x1280xf32>
%cst_20 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_21 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_22 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_23 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_24 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_25 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_26 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_27 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_28 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_29 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_30 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_31 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_32 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_33 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_34 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_35 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_36 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_37 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_38 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_39 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_40 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_41 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_42 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_43 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_44 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_45 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_46 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_47 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_48 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_49 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_50 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_51 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16>
%cst_52 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8>
%cst_53 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_54 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16>
%cst_55 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8>
%cst_56 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_57 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_58 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_59 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_60 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_61 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_62 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_63 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_64 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_65 = arith.constant dense_resource<__elided__> : tensor<320x1280xf32>
%cst_66 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_67 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_68 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_69 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_70 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_71 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_72 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_73 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_74 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_75 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_76 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_77 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_78 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_79 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_80 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_81 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_82 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_83 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_84 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_85 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_86 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_87 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_88 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_89 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_90 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_91 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_92 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_93 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_94 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_95 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_96 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_97 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16>
%cst_98 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8>
%cst_99 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_100 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16>
%cst_101 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8>
%cst_102 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_103 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_104 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_105 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_106 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_107 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_108 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_109 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_110 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_111 = arith.constant dense_resource<__elided__> : tensor<640x20x1x3x3xf16>
%cst_112 = arith.constant dense_resource<__elided__> : tensor<640x320x3x3xi8>
%cst_113 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_114 = arith.constant dense_resource<__elided__> : tensor<640x1280xf32>
%cst_115 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_116 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_117 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_118 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_119 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_120 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_121 = arith.constant dense_resource<__elided__> : tensor<640x20x1x1x1xf16>
%cst_122 = arith.constant dense_resource<__elided__> : tensor<640x320x1x1xi8>
%cst_123 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_124 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_125 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_126 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_127 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_128 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_129 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_130 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_131 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_132 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_133 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_134 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_135 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_136 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_137 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_138 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_139 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_140 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_141 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_142 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_143 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_144 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_145 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_146 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_147 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_148 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_149 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16>
%cst_150 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8>
%cst_151 = arith.constant dense_resource<__elided__> : tensor<5120xf32>
%cst_152 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16>
%cst_153 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8>
%cst_154 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_155 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_156 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_157 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_158 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_159 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_160 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_161 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_162 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_163 = arith.constant dense_resource<__elided__> : tensor<640x1280xf32>
%cst_164 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_165 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_166 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_167 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_168 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_169 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_170 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_171 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_172 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_173 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_174 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_175 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_176 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_177 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_178 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_179 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_180 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_181 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_182 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_183 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_184 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_185 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_186 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_187 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_188 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_189 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_190 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_191 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_192 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_193 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_194 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_195 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16>
%cst_196 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8>
%cst_197 = arith.constant dense_resource<__elided__> : tensor<5120xf32>
%cst_198 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16>
%cst_199 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8>
%cst_200 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_201 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_202 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_203 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_204 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_205 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_206 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_207 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_208 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_209 = arith.constant dense_resource<__elided__> : tensor<1280x40x1x3x3xf16>
%cst_210 = arith.constant dense_resource<__elided__> : tensor<1280x640x3x3xi8>
%cst_211 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_212 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_213 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_214 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_215 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_216 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_217 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_218 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_219 = arith.constant dense_resource<__elided__> : tensor<1280x40x1x1x1xf16>
%cst_220 = arith.constant dense_resource<__elided__> : tensor<1280x640x1x1xi8>
%cst_221 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_222 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_223 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_224 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_225 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_226 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_227 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_228 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_229 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_230 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_231 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_232 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_233 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_234 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_235 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_236 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_237 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_238 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_239 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_240 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_241 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_242 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_243 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_244 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_245 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_246 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_247 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_248 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_249 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_250 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_251 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_252 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_253 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_254 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_255 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_256 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_257 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_258 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_259 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_260 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_261 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_262 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_263 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_264 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_265 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_266 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_267 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_268 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_269 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_270 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_271 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_272 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_273 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_274 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_275 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_276 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_277 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_278 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_279 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_280 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_281 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_282 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_283 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_284 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_285 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_286 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_287 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_288 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_289 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_290 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_291 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_292 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_293 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_294 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_295 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_296 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_297 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_298 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_299 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_300 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_301 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_302 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_303 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_304 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_305 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_306 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_307 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_308 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_309 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_310 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_311 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_312 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_313 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_314 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_315 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_316 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_317 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_318 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_319 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_320 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_321 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_322 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_323 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_324 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_325 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_326 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_327 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_328 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_329 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_330 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_331 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_332 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_333 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_334 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_335 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_336 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_337 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_338 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_339 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_340 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_341 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_342 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_343 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_344 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_345 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_346 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_347 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_348 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_349 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_350 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_351 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_352 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_353 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_354 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_355 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_356 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_357 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_358 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_359 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_360 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_361 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_362 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_363 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_364 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_365 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_366 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_367 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_368 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_369 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_370 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_371 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_372 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_373 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_374 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_375 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_376 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_377 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_378 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_379 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_380 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_381 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_382 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_383 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_384 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_385 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_386 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_387 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_388 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_389 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16>
%cst_390 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8>
%cst_391 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_392 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_393 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_394 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_395 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_396 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_397 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_398 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_399 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16>
%cst_400 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8>
%cst_401 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_402 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_403 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_404 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16>
%cst_405 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8>
%cst_406 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_407 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_408 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_409 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_410 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_411 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_412 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_413 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_414 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16>
%cst_415 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8>
%cst_416 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_417 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_418 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_419 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16>
%cst_420 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8>
%cst_421 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_422 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_423 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_424 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_425 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_426 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_427 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_428 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_429 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16>
%cst_430 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8>
%cst_431 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_432 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_433 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_434 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_435 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_436 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_437 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16>
%cst_438 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8>
%cst_439 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_440 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_441 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_442 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_443 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_444 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_445 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_446 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_447 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16>
%cst_448 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8>
%cst_449 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_450 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_451 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_452 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_453 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_454 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_455 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_456 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_457 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_458 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_459 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_460 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_461 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_462 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_463 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_464 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_465 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_466 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_467 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_468 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_469 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_470 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_471 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_472 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_473 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_474 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_475 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_476 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_477 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_478 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_479 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_480 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_481 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_482 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_483 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_484 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_485 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_486 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16>
%cst_487 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8>
%cst_488 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_489 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_490 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_491 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_492 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_493 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_494 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_495 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_496 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16>
%cst_497 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8>
%cst_498 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_499 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_500 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_501 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_502 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_503 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_504 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_505 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_506 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_507 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_508 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_509 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_510 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_511 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_512 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_513 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_514 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_515 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_516 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_517 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_518 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_519 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_520 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_521 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_522 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_523 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_524 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_525 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_526 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_527 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_528 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_529 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_530 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_531 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_532 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_533 = arith.constant dense_resource<__elided__> : tensor<1920xf32>
%cst_534 = arith.constant dense_resource<__elided__> : tensor<1920xf32>
%cst_535 = arith.constant dense_resource<__elided__> : tensor<1280x120x1x3x3xf16>
%cst_536 = arith.constant dense_resource<__elided__> : tensor<1280x1920x3x3xi8>
%cst_537 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_538 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf32>
%cst_539 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_540 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_541 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_542 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_543 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_544 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_545 = arith.constant dense_resource<__elided__> : tensor<1280x120x1x1x1xf16>
%cst_546 = arith.constant dense_resource<__elided__> : tensor<1280x1920x1x1xi8>
%cst_547 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_548 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_549 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_550 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_551 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_552 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_553 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_554 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_555 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_556 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_557 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_558 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_559 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_560 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_561 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_562 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_563 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_564 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_565 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_566 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_567 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_568 = arith.constant dense_resource<__elided__> : tensor<1280x48x1xf16>
%cst_569 = arith.constant dense_resource<__elided__> : tensor<1280x768xi8>
%cst_570 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16>
%cst_571 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8>
%cst_572 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_573 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16>
%cst_574 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8>
%cst_575 = arith.constant dense_resource<__elided__> : tensor<10240xf32>
%cst_576 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16>
%cst_577 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8>
%cst_578 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_579 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x1x1xf16>
%cst_580 = arith.constant dense_resource<__elided__> : tensor<1280x1280x1x1xi8>
%cst_581 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_582 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16>
%cst_583 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8>
%cst_584 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_585 = arith.constant dense_resource<__elided__> : tensor<1920xf32>
%cst_586 = arith.constant dense_resource<__elided__> : tensor<1920xf32>
%cst_587 = arith.constant dense_resource<__elided__> : tensor<640x120x1x3x3xf16>
%cst_588 = arith.constant dense_resource<__elided__> : tensor<640x1920x3x3xi8>
%cst_589 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_590 = arith.constant dense_resource<__elided__> : tensor<640x1280xf32>
%cst_591 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_592 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_593 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_594 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_595 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_596 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_597 = arith.constant dense_resource<__elided__> : tensor<640x120x1x1x1xf16>
%cst_598 = arith.constant dense_resource<__elided__> : tensor<640x1920x1x1xi8>
%cst_599 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_600 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_601 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_602 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_603 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_604 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_605 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_606 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_607 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_608 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_609 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_610 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_611 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_612 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_613 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_614 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_615 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_616 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_617 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_618 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_619 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_620 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_621 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_622 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_623 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_624 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_625 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16>
%cst_626 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8>
%cst_627 = arith.constant dense_resource<__elided__> : tensor<5120xf32>
%cst_628 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16>
%cst_629 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8>
%cst_630 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_631 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_632 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_633 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_634 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_635 = arith.constant dense_resource<__elided__> : tensor<1280xf32>
%cst_636 = arith.constant dense_resource<__elided__> : tensor<640x80x1x3x3xf16>
%cst_637 = arith.constant dense_resource<__elided__> : tensor<640x1280x3x3xi8>
%cst_638 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_639 = arith.constant dense_resource<__elided__> : tensor<640x1280xf32>
%cst_640 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_641 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_642 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_643 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_644 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_645 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_646 = arith.constant dense_resource<__elided__> : tensor<640x80x1x1x1xf16>
%cst_647 = arith.constant dense_resource<__elided__> : tensor<640x1280x1x1xi8>
%cst_648 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_649 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_650 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_651 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_652 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_653 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_654 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_655 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_656 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_657 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_658 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_659 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_660 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_661 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_662 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_663 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_664 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_665 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_666 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_667 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_668 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_669 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_670 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_671 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_672 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_673 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_674 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16>
%cst_675 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8>
%cst_676 = arith.constant dense_resource<__elided__> : tensor<5120xf32>
%cst_677 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16>
%cst_678 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8>
%cst_679 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_680 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_681 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_682 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_683 = arith.constant dense_resource<__elided__> : tensor<960xf32>
%cst_684 = arith.constant dense_resource<__elided__> : tensor<960xf32>
%cst_685 = arith.constant dense_resource<__elided__> : tensor<640x60x1x3x3xf16>
%cst_686 = arith.constant dense_resource<__elided__> : tensor<640x960x3x3xi8>
%cst_687 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_688 = arith.constant dense_resource<__elided__> : tensor<640x1280xf32>
%cst_689 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_690 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_691 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_692 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_693 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_694 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_695 = arith.constant dense_resource<__elided__> : tensor<640x60x1x1x1xf16>
%cst_696 = arith.constant dense_resource<__elided__> : tensor<640x960x1x1xi8>
%cst_697 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_698 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_699 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_700 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_701 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_702 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_703 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_704 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_705 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_706 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_707 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_708 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_709 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_710 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_711 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_712 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_713 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_714 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_715 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_716 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_717 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_718 = arith.constant dense_resource<__elided__> : tensor<640x48x1xf16>
%cst_719 = arith.constant dense_resource<__elided__> : tensor<640x768xi8>
%cst_720 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16>
%cst_721 = arith.constant dense_resource<__elided__> : tensor<640x640xi8>
%cst_722 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_723 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16>
%cst_724 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8>
%cst_725 = arith.constant dense_resource<__elided__> : tensor<5120xf32>
%cst_726 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16>
%cst_727 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8>
%cst_728 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_729 = arith.constant dense_resource<__elided__> : tensor<640x40x1x1x1xf16>
%cst_730 = arith.constant dense_resource<__elided__> : tensor<640x640x1x1xi8>
%cst_731 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_732 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16>
%cst_733 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8>
%cst_734 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_735 = arith.constant dense_resource<__elided__> : tensor<960xf32>
%cst_736 = arith.constant dense_resource<__elided__> : tensor<960xf32>
%cst_737 = arith.constant dense_resource<__elided__> : tensor<320x60x1x3x3xf16>
%cst_738 = arith.constant dense_resource<__elided__> : tensor<320x960x3x3xi8>
%cst_739 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_740 = arith.constant dense_resource<__elided__> : tensor<320x1280xf32>
%cst_741 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_742 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_743 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_744 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_745 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_746 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_747 = arith.constant dense_resource<__elided__> : tensor<320x60x1x1x1xf16>
%cst_748 = arith.constant dense_resource<__elided__> : tensor<320x960x1x1xi8>
%cst_749 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_750 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_751 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_752 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_753 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_754 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_755 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_756 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_757 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_758 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_759 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_760 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_761 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_762 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_763 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_764 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_765 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_766 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_767 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_768 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_769 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_770 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_771 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_772 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_773 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_774 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_775 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16>
%cst_776 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8>
%cst_777 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_778 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16>
%cst_779 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8>
%cst_780 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_781 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_782 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_783 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_784 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_785 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_786 = arith.constant dense_resource<__elided__> : tensor<320x40x1x3x3xf16>
%cst_787 = arith.constant dense_resource<__elided__> : tensor<320x640x3x3xi8>
%cst_788 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_789 = arith.constant dense_resource<__elided__> : tensor<320x1280xf32>
%cst_790 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_791 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_792 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_793 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_794 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_795 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_796 = arith.constant dense_resource<__elided__> : tensor<320x40x1x1x1xf16>
%cst_797 = arith.constant dense_resource<__elided__> : tensor<320x640x1x1xi8>
%cst_798 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_799 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_800 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_801 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_802 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_803 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_804 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_805 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_806 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_807 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_808 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_809 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_810 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_811 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_812 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_813 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_814 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_815 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_816 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_817 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_818 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_819 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_820 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_821 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_822 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_823 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_824 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16>
%cst_825 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8>
%cst_826 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_827 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16>
%cst_828 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8>
%cst_829 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_830 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_831 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_832 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_833 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_834 = arith.constant dense_resource<__elided__> : tensor<640xf32>
%cst_835 = arith.constant dense_resource<__elided__> : tensor<320x40x1x3x3xf16>
%cst_836 = arith.constant dense_resource<__elided__> : tensor<320x640x3x3xi8>
%cst_837 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_838 = arith.constant dense_resource<__elided__> : tensor<320x1280xf32>
%cst_839 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_840 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_841 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_842 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16>
%cst_843 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8>
%cst_844 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_845 = arith.constant dense_resource<__elided__> : tensor<320x40x1x1x1xf16>
%cst_846 = arith.constant dense_resource<__elided__> : tensor<320x640x1x1xi8>
%cst_847 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_848 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_849 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_850 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_851 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_852 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_853 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_854 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_855 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_856 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_857 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_858 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_859 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_860 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_861 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_862 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_863 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_864 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_865 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_866 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_867 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_868 = arith.constant dense_resource<__elided__> : tensor<320x48x1xf16>
%cst_869 = arith.constant dense_resource<__elided__> : tensor<320x768xi8>
%cst_870 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16>
%cst_871 = arith.constant dense_resource<__elided__> : tensor<320x320xi8>
%cst_872 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_873 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16>
%cst_874 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8>
%cst_875 = arith.constant dense_resource<__elided__> : tensor<2560xf32>
%cst_876 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16>
%cst_877 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8>
%cst_878 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_879 = arith.constant dense<8.000000e+00> : tensor<f32>
%cst_880 = arith.constant dense<0.000000e+00> : tensor<f32>
%cst_881 = arith.constant dense<2.000000e+00> : tensor<f32>
%cst_882 = arith.constant dense_resource<__elided__> : tensor<320x20x1x1x1xf16>
%cst_883 = arith.constant dense_resource<__elided__> : tensor<320x320x1x1xi8>
%cst_884 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_885 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_886 = arith.constant dense_resource<__elided__> : tensor<320xf32>
%cst_887 = arith.constant dense_resource<__elided__> : tensor<4x320x3x3xf32>
%cst_888 = arith.constant dense<[-0.00139330293, -0.00158878567, -2.62602087E-4, -0.00253138179]> : tensor<4xf32>
%cst_889 = arith.constant -3.40282347E+38 : f32
%cst_890 = arith.constant 1.41421354 : f32
%cst_891 = arith.constant 5.000000e-01 : f32
%cst_892 = arith.constant 1.000000e-05 : f64
%cst_893 = arith.constant 0.000000e+00 : f64
%cst_894 = arith.constant 0.000000e+00 : f32
%cst_895 = arith.constant 1.000000e+00 : f32
%cst_896 = arith.constant 4.096000e+04 : f64
%cst_897 = arith.constant 4.096000e+04 : f32
%cst_898 = arith.constant 3.200000e+02 : f32
%cst_899 = arith.constant 1.024000e+04 : f64
%cst_900 = arith.constant 1.024000e+04 : f32
%cst_901 = arith.constant 2.048000e+04 : f64
%cst_902 = arith.constant 2.048000e+04 : f32
%cst_903 = arith.constant 6.400000e+02 : f32
%cst_904 = arith.constant 5.120000e+03 : f64
%cst_905 = arith.constant 5.120000e+03 : f32
%cst_906 = arith.constant 1.280000e+03 : f32
%cst_907 = arith.constant 2.560000e+03 : f64
%cst_908 = arith.constant 2.560000e+03 : f32
%cst_909 = arith.constant 1.536000e+04 : f64
%cst_910 = arith.constant 1.536000e+04 : f32
%cst_911 = arith.constant 6.144000e+04 : f64
%cst_912 = arith.constant 6.144000e+04 : f32
%cst_913 = arith.constant 3.072000e+04 : f64
%cst_914 = arith.constant 3.072000e+04 : f32
%cst_915 = arith.constant 1.228800e+05 : f64
%cst_916 = arith.constant 1.228800e+05 : f32
%cst_917 = arith.constant 8.192000e+04 : f64
%cst_918 = arith.constant 8.192000e+04 : f32
%c0_i64 = arith.constant 0 : i64
%c2 = arith.constant 2 : index
%0 = linalg.init_tensor [] : tensor<f64>
%1 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2 = linalg.init_tensor [] : tensor<f32>
%3 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%4 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%arg1 : tensor<i64>) outs(%3 : tensor<f32>) {
^bb0(%arg3: i64, %arg4: f32):
%12738 = arith.sitofp %arg3 : i64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%5 = tensor.expand_shape %4 [] : tensor<f32> into tensor<1xf32>
%6 = linalg.init_tensor [2] : tensor<2xf32>
%7 = linalg.generic {indexing_maps = [#map1, #map2], iterator_types = ["parallel"]} ins(%5 : tensor<1xf32>) outs(%6 : tensor<2xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2xf32>
%8 = linalg.init_tensor [160] : tensor<160xf32>
%9 = linalg.generic {indexing_maps = [#map2], iterator_types = ["parallel"]} outs(%8 : tensor<160xf32>) {
^bb0(%arg3: f32):
%12738 = linalg.index 0 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.sitofp %12739 : i64 to f32
%12741 = arith.addf %12740, %cst_894 : f32
linalg.yield %12741 : f32
} -> tensor<160xf32>
%10 = linalg.generic {indexing_maps = [#map2, #map3, #map2], iterator_types = ["parallel"]} ins(%9, %cst_7 : tensor<160xf32>, tensor<f64>) outs(%8 : tensor<160xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<160xf32>
%11 = linalg.generic {indexing_maps = [#map2, #map3, #map2], iterator_types = ["parallel"]} ins(%10, %cst_6 : tensor<160xf32>, tensor<i64>) outs(%8 : tensor<160xf32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.divf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<160xf32>
%12 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel"]} ins(%11 : tensor<160xf32>) outs(%8 : tensor<160xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<160xf32>
%13 = tensor.expand_shape %7 [[0, 1]] : tensor<2xf32> into tensor<2x1xf32>
%14 = tensor.expand_shape %12 [[0, 1]] : tensor<160xf32> into tensor<1x160xf32>
%15 = linalg.init_tensor [2, 160] : tensor<2x160xf32>
%16 = linalg.generic {indexing_maps = [#map4, #map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%13, %14 : tensor<2x1xf32>, tensor<1x160xf32>) outs(%15 : tensor<2x160xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x160xf32>
%17 = linalg.generic {indexing_maps = [#map6, #map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%16, %cst_5 : tensor<2x160xf32>, tensor<i64>) outs(%15 : tensor<2x160xf32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x160xf32>
%18 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%17 : tensor<2x160xf32>) outs(%15 : tensor<2x160xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.sin %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x160xf32>
%19 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%17 : tensor<2x160xf32>) outs(%15 : tensor<2x160xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.cos %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x160xf32>
%20 = linalg.init_tensor [2, 320] : tensor<2x320xf32>
%21 = tensor.insert_slice %18 into %20[0, 0] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32>
%22 = tensor.insert_slice %19 into %21[0, 160] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32>
%23 = tensor.extract_slice %22[0, 0] [2, 160] [1, 1] : tensor<2x320xf32> to tensor<2x160xf32>
%24 = tensor.insert_slice %19 into %20[0, 0] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32>
%25 = tensor.insert_slice %23 into %24[0, 160] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32>
%26 = linalg.init_tensor [320, 1280] : tensor<320x1280xf32>
%27 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_8 : tensor<1280x320xf32>) outs(%26 : tensor<320x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x1280xf32>
%28 = linalg.init_tensor [2, 1280] : tensor<2x1280xf32>
%29 = linalg.fill ins(%cst_894 : f32) outs(%28 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%30 = linalg.matmul ins(%25, %27 : tensor<2x320xf32>, tensor<320x1280xf32>) outs(%29 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%31 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_9, %30 : tensor<1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%32 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%31 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%33 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%32, %31 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%34 = linalg.init_tensor [1280, 1280] : tensor<1280x1280xf32>
%35 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_10 : tensor<1280x1280xf32>) outs(%34 : tensor<1280x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x1280xf32>
%36 = linalg.fill ins(%cst_894 : f32) outs(%28 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%37 = linalg.matmul ins(%33, %35 : tensor<2x1280xf32>, tensor<1280x1280xf32>) outs(%36 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%38 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_11, %37 : tensor<1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%39 = tensor.pad %arg0 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x4x64x64xf32> to tensor<2x4x66x66xf32>
%40 = linalg.init_tensor [2, 320, 64, 64] : tensor<2x320x64x64xf32>
%41 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_13 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%42 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%39, %cst_12 : tensor<2x4x66x66xf32>, tensor<320x4x3x3xf32>) outs(%41 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%43 = tensor.collapse_shape %42 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%44 = tensor.expand_shape %43 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%45 = linalg.init_tensor [2, 32, 10, 4096] : tensor<2x32x10x4096xf64>
%46 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%44 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%47 = linalg.init_tensor [2, 32, 1, 1] : tensor<2x32x1x1xf64>
%48 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%49 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%46 : tensor<2x32x10x4096xf64>) outs(%48 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%50 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%49 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%51 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%46, %50 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%52 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%51 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%53 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%54 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%52 : tensor<2x32x10x4096xf64>) outs(%53 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%55 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%54 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%56 = linalg.init_tensor [2, 32, 1, 1] : tensor<2x32x1x1xf32>
%57 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%55 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%58 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%59 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%44 : tensor<2x32x10x4096xf32>) outs(%58 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%60 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%59 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%61 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%57, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%62 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%61 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%63 = linalg.init_tensor [2, 32, 10, 4096] : tensor<2x32x10x4096xf32>
%64 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%44, %60 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%65 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%64, %62 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%66 = tensor.collapse_shape %65 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%67 = tensor.expand_shape %66 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%68 = tensor.expand_shape %cst_14 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%69 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%67, %68 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%70 = tensor.expand_shape %cst_15 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%71 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%69, %70 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%72 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%71 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x320x64x64xf32>
%73 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%72, %71 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%74 = tensor.expand_shape %73 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%75 = linalg.init_tensor [2, 20, 16, 64, 64] : tensor<2x20x16x64x64xf32>
%76 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%74 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%77 = linalg.init_tensor [2, 20, 1, 64, 64] : tensor<2x20x1x64x64xi64>
%78 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%79 = linalg.init_tensor [2, 20, 1, 64, 64] : tensor<2x20x1x64x64xf32>
%80 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%81:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%76 : tensor<2x20x16x64x64xf32>) outs(%80, %78 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%82 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%81#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%83 = tensor.collapse_shape %82 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%84 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%85 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %84 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%86 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%85 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%87 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%86 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%88 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%83, %87 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%89 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%73, %88 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%90 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%89, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%91 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%92 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %91 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%93 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%92 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%94 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%95 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %94 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%96 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%95, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%97 = linalg.init_tensor [2, 320, 64, 64] : tensor<2x320x64x64xi1>
%98 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%90, %96 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%99 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%98, %96, %90 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%100 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%99, %93 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%101 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%100, %93, %99 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%102 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%101 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%103 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%102, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%104 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103, %88 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%105 = linalg.init_tensor [320, 20, 16, 3, 3] : tensor<320x20x16x3x3xf16>
%106 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_16 : tensor<320x20x1x3x3xf16>) outs(%105 : tensor<320x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x3x3xf16>
%107 = tensor.collapse_shape %106 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16>
%108 = linalg.init_tensor [320, 320, 3, 3] : tensor<320x320x3x3xf16>
%109 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_17, %107 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%108 : tensor<320x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x3x3xf16>
%110 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%111 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%110 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%112 = linalg.init_tensor [320, 320, 3, 3] : tensor<320x320x3x3xf32>
%113 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%111 : tensor<f32>) outs(%112 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x3x3xf32>
%114 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%109 : tensor<320x320x3x3xf16>) outs(%113 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x3x3xf32>
%115 = tensor.pad %104 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x64x64xf32> to tensor<2x320x66x66xf32>
%116 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_18 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%117 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%115, %114 : tensor<2x320x66x66xf32>, tensor<320x320x3x3xf32>) outs(%116 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%118 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%38 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%119 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%118, %38 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%120 = linalg.init_tensor [1280, 320] : tensor<1280x320xf32>
%121 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_19 : tensor<320x1280xf32>) outs(%120 : tensor<1280x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x320xf32>
%122 = linalg.fill ins(%cst_894 : f32) outs(%20 : tensor<2x320xf32>) -> tensor<2x320xf32>
%123 = linalg.matmul ins(%119, %121 : tensor<2x1280xf32>, tensor<1280x320xf32>) outs(%122 : tensor<2x320xf32>) -> tensor<2x320xf32>
%124 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_20, %123 : tensor<320xf32>, tensor<2x320xf32>) outs(%20 : tensor<2x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320xf32>
%125 = tensor.expand_shape %124 [[0], [1, 2, 3]] : tensor<2x320xf32> into tensor<2x320x1x1xf32>
%126 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%117, %125 : tensor<2x320x64x64xf32>, tensor<2x320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%127 = tensor.collapse_shape %126 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%128 = tensor.expand_shape %127 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%129 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%128 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%130 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%131 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%129 : tensor<2x32x10x4096xf64>) outs(%130 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%132 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%131 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%133 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%129, %132 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%134 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%133 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%135 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%136 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%134 : tensor<2x32x10x4096xf64>) outs(%135 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%137 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%136 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%138 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%137 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%139 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%140 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%128 : tensor<2x32x10x4096xf32>) outs(%139 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%141 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%140 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%142 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%138, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%143 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%142 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%144 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%128, %141 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%145 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%144, %143 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%146 = tensor.collapse_shape %145 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%147 = tensor.expand_shape %146 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%148 = tensor.expand_shape %cst_21 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%149 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%147, %148 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%150 = tensor.expand_shape %cst_22 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%151 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%149, %150 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%152 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%151 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x320x64x64xf32>
%153 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%152, %151 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%154 = tensor.expand_shape %153 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%155 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%154 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%156 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%157 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%158:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%155 : tensor<2x20x16x64x64xf32>) outs(%157, %156 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%159 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%158#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%160 = tensor.collapse_shape %159 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%161 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%162 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %161 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%163 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%162 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%164 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%163 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%165 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%160, %164 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%166 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%153, %165 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%167 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%166, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%168 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%169 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %168 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%170 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%169 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%171 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%172 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %171 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%173 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%172, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%174 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%167, %173 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%175 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%174, %173, %167 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%176 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%175, %170 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%177 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%176, %170, %175 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%178 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%177 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%179 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%178, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%180 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%179, %165 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%181 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_23 : tensor<320x20x1x3x3xf16>) outs(%105 : tensor<320x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x3x3xf16>
%182 = tensor.collapse_shape %181 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16>
%183 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_24, %182 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%108 : tensor<320x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x3x3xf16>
%184 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%185 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%184 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%186 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%185 : tensor<f32>) outs(%112 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x3x3xf32>
%187 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%183 : tensor<320x320x3x3xf16>) outs(%186 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x3x3xf32>
%188 = tensor.pad %180 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x64x64xf32> to tensor<2x320x66x66xf32>
%189 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_25 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%190 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%188, %187 : tensor<2x320x66x66xf32>, tensor<320x320x3x3xf32>) outs(%189 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%191 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%42, %190 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%192 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%191, %cst_3 : tensor<2x320x64x64xf32>, tensor<f64>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.divf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x320x64x64xf32>
%193 = tensor.collapse_shape %192 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%194 = tensor.expand_shape %193 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%195 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%194 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%196 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%197 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%195 : tensor<2x32x10x4096xf64>) outs(%196 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%198 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%197 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%199 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%195, %198 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%200 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%199 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%201 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%202 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%200 : tensor<2x32x10x4096xf64>) outs(%201 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%203 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%202 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%204 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%203 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%205 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%206 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%194 : tensor<2x32x10x4096xf32>) outs(%205 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%207 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%206 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%208 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%204, %cst_2 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%209 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%208 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%210 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%194, %207 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%211 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%210, %209 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%212 = tensor.collapse_shape %211 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%213 = tensor.expand_shape %212 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%214 = tensor.expand_shape %212 [[0], [1, 2], [3, 4]] : tensor<2x320x4096xf32> into tensor<2x20x16x64x64xf32>
%215 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%214 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%216 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%217 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%218:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%215 : tensor<2x20x16x64x64xf32>) outs(%217, %216 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%219 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%218#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%220 = tensor.collapse_shape %219 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%221 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%222 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %221 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%223 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%222 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%224 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%223 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%225 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%220, %224 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%226 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%213, %225 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%227 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%226, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%228 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%229 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %228 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%230 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%229 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%231 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%232 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %231 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%233 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%232, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%234 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%227, %233 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%235 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%234, %233, %227 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%236 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%235, %230 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%237 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%236, %230, %235 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%238 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%237 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%239 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%238, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%240 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%239, %225 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%241 = linalg.init_tensor [320, 20, 16, 1, 1] : tensor<320x20x16x1x1xf16>
%242 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_26 : tensor<320x20x1x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%243 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%242 : tensor<320x20x16x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%244 = tensor.collapse_shape %243 [[0], [1, 2], [3], [4]] : tensor<320x20x16x1x1xf16> into tensor<320x320x1x1xf16>
%245 = linalg.init_tensor [320, 320, 1, 1] : tensor<320x320x1x1xf16>
%246 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_27, %244 : tensor<320x320x1x1xi8>, tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x1x1xf16>
%247 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%248 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%247 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%249 = linalg.init_tensor [320, 320, 1, 1] : tensor<320x320x1x1xf32>
%250 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%248 : tensor<f32>) outs(%249 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x1x1xf32>
%251 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%246 : tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x320x1x1xf16>
%252 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%251 : tensor<320x320x1x1xf16>) outs(%250 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x1x1xf32>
%253 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_28 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%254 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%240, %252 : tensor<2x320x64x64xf32>, tensor<320x320x1x1xf32>) outs(%253 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%255 = linalg.init_tensor [2, 64, 64, 320] : tensor<2x64x64x320xf32>
%256 = linalg.generic {indexing_maps = [#map11, #map19], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%254 : tensor<2x320x64x64xf32>) outs(%255 : tensor<2x64x64x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x64x64x320xf32>
%257 = tensor.collapse_shape %256 [[0], [1, 2], [3]] : tensor<2x64x64x320xf32> into tensor<2x4096x320xf32>
%258 = linalg.init_tensor [2, 4096, 1] : tensor<2x4096x1xf32>
%259 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%260 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%257 : tensor<2x4096x320xf32>) outs(%259 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%261 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%260 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%262 = linalg.init_tensor [2, 4096, 320] : tensor<2x4096x320xf32>
%263 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%261 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%264 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%257, %263 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%265 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%264 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%266 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%267 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%265 : tensor<2x4096x320xf32>) outs(%266 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%268 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%267 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%269 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%268 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%270 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%269 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%271 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%270 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%272 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%264, %271 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%273 = tensor.expand_shape %272 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%274 = linalg.init_tensor [2, 4096, 20, 16] : tensor<2x4096x20x16xf32>
%275 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%273 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%276 = linalg.init_tensor [2, 4096, 20, 1] : tensor<2x4096x20x1xi64>
%277 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%278 = linalg.init_tensor [2, 4096, 20, 1] : tensor<2x4096x20x1xf32>
%279 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%280:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%275 : tensor<2x4096x20x16xf32>) outs(%279, %277 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%281 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%280#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%282 = tensor.collapse_shape %281 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%283 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%284 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %283 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%285 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%284 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%286 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%285 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%287 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%282, %286 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%288 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%272, %287 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%289 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%288, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%290 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%291 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %290 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%292 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%291 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%293 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%294 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %293 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%295 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%294, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%296 = linalg.init_tensor [2, 4096, 320] : tensor<2x4096x320xi1>
%297 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%289, %295 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%298 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%297, %295, %289 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%299 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%298, %292 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%300 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%299, %292, %298 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%301 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%300 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%302 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%301, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%303 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%302, %287 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%304 = linalg.init_tensor [320, 20, 16] : tensor<320x20x16xf16>
%305 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_29 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%306 = tensor.collapse_shape %305 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%307 = linalg.init_tensor [320, 320] : tensor<320x320xf16>
%308 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_30, %306 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%309 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%310 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%309 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%311 = linalg.init_tensor [320, 320] : tensor<320x320xf32>
%312 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%310 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%313 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%308 : tensor<320x320xf16>) outs(%312 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%314 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%313 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%315 = tensor.collapse_shape %303 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%316 = linalg.init_tensor [8192, 320] : tensor<8192x320xf32>
%317 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%318 = linalg.matmul ins(%315, %314 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%317 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%319 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_31, %318 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%320 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%273 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%321 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%322 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%323:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%320 : tensor<2x4096x20x16xf32>) outs(%322, %321 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%324 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%323#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%325 = tensor.collapse_shape %324 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%326 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%327 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %326 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%328 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%327 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%329 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%328 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%330 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%325, %329 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%331 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%272, %330 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%332 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%331, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%333 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%334 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %333 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%335 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%334 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%336 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%337 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %336 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%338 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%337, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%339 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%332, %338 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%340 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%339, %338, %332 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%341 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%340, %335 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%342 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%341, %335, %340 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%343 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%342 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%344 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%343, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%345 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%344, %330 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%346 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_32 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%347 = tensor.collapse_shape %346 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%348 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_33, %347 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%349 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%350 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%349 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%351 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%350 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%352 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%348 : tensor<320x320xf16>) outs(%351 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%353 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%352 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%354 = tensor.collapse_shape %345 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%355 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%356 = linalg.matmul ins(%354, %353 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%355 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%357 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_34, %356 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%358 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%273 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%359 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%360 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%361:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%358 : tensor<2x4096x20x16xf32>) outs(%360, %359 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%362 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%361#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%363 = tensor.collapse_shape %362 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%364 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%365 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %364 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%366 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%365 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%367 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%366 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%368 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%363, %367 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%369 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%272, %368 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%370 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%369, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%371 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%372 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %371 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%373 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%372 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%374 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%375 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %374 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%376 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%375, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%377 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%370, %376 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%378 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%377, %376, %370 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%379 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%378, %373 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%380 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%379, %373, %378 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%381 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%380 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%382 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%381, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%383 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%382, %368 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%384 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_35 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%385 = tensor.collapse_shape %384 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%386 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_36, %385 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%387 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%388 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%387 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%389 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%388 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%390 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%386 : tensor<320x320xf16>) outs(%389 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%391 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%390 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%392 = tensor.collapse_shape %383 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%393 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%394 = linalg.matmul ins(%392, %391 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%393 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%395 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_37, %394 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%396 = tensor.expand_shape %319 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%397 = linalg.init_tensor [2, 8, 4096, 40] : tensor<2x8x4096x40xf32>
%398 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%396 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%399 = tensor.collapse_shape %398 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%400 = tensor.expand_shape %357 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%401 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%400 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%402 = tensor.collapse_shape %401 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%403 = tensor.expand_shape %395 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%404 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%403 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%405 = tensor.collapse_shape %404 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%406 = linalg.init_tensor [16, 40, 4096] : tensor<16x40x4096xf32>
%407 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%402 : tensor<16x4096x40xf32>) outs(%406 : tensor<16x40x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x40x4096xf32>
%408 = linalg.init_tensor [16, 4096, 4096] : tensor<16x4096x4096xf32>
%409 = linalg.fill ins(%cst_894 : f32) outs(%408 : tensor<16x4096x4096xf32>) -> tensor<16x4096x4096xf32>
%410 = linalg.batch_matmul ins(%399, %407 : tensor<16x4096x40xf32>, tensor<16x40x4096xf32>) outs(%409 : tensor<16x4096x4096xf32>) -> tensor<16x4096x4096xf32>
%411 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%410, %cst_1 : tensor<16x4096x4096xf32>, tensor<f64>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x4096x4096xf32>
%412 = linalg.init_tensor [16, 4096, 1] : tensor<16x4096x1xi64>
%413 = linalg.fill ins(%c0_i64 : i64) outs(%412 : tensor<16x4096x1xi64>) -> tensor<16x4096x1xi64>
%414 = linalg.init_tensor [16, 4096, 1] : tensor<16x4096x1xf32>
%415 = linalg.fill ins(%cst_889 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%416:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%411 : tensor<16x4096x4096xf32>) outs(%415, %413 : tensor<16x4096x1xf32>, tensor<16x4096x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x4096x1xf32>, tensor<16x4096x1xi64>)
%417 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%411, %416#0 : tensor<16x4096x4096xf32>, tensor<16x4096x1xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%418 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%417 : tensor<16x4096x4096xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%419 = linalg.fill ins(%cst_894 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%420 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%418 : tensor<16x4096x4096xf32>) outs(%419 : tensor<16x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x1xf32>
%421 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%418, %420 : tensor<16x4096x4096xf32>, tensor<16x4096x1xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%422 = linalg.init_tensor [16, 4096, 40] : tensor<16x4096x40xf32>
%423 = linalg.fill ins(%cst_894 : f32) outs(%422 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%424 = linalg.batch_matmul ins(%421, %405 : tensor<16x4096x4096xf32>, tensor<16x4096x40xf32>) outs(%423 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%425 = tensor.expand_shape %424 [[0, 1], [2], [3]] : tensor<16x4096x40xf32> into tensor<2x8x4096x40xf32>
%426 = linalg.init_tensor [2, 4096, 8, 40] : tensor<2x4096x8x40xf32>
%427 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%425 : tensor<2x8x4096x40xf32>) outs(%426 : tensor<2x4096x8x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x8x40xf32>
%428 = tensor.collapse_shape %427 [[0], [1], [2, 3]] : tensor<2x4096x8x40xf32> into tensor<2x4096x320xf32>
%429 = tensor.expand_shape %428 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%430 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%429 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%431 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%432 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%433:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%430 : tensor<2x4096x20x16xf32>) outs(%432, %431 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%434 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%433#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%435 = tensor.collapse_shape %434 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%436 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%437 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %436 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%438 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%437 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%439 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%438 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%440 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%435, %439 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%441 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%428, %440 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%442 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%441, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%443 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%444 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %443 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%445 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%444 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%446 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%447 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %446 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%448 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%447, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%449 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%442, %448 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%450 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%449, %448, %442 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%451 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%450, %445 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%452 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%451, %445, %450 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%453 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%452 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%454 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%453, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%455 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%454, %440 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%456 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_38 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%457 = tensor.collapse_shape %456 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%458 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_39, %457 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%459 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%460 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%459 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%461 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%460 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%462 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%458 : tensor<320x320xf16>) outs(%461 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%463 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%462 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%464 = tensor.collapse_shape %455 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%465 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%466 = linalg.matmul ins(%464, %463 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%465 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%467 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_40, %466 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%468 = tensor.expand_shape %467 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%469 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%468, %257 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%470 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%471 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%469 : tensor<2x4096x320xf32>) outs(%470 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%472 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%471 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%473 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%472 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%474 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%469, %473 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%475 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%474 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%476 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%477 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%475 : tensor<2x4096x320xf32>) outs(%476 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%478 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%477 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%479 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%478 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%480 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%479 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%481 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%480 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%482 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%474, %481 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%483 = tensor.expand_shape %482 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%484 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%483 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%485 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%486 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%487:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%484 : tensor<2x4096x20x16xf32>) outs(%486, %485 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%488 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%487#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%489 = tensor.collapse_shape %488 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%490 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%491 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %490 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%492 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%491 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%493 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%492 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%494 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%489, %493 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%495 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%482, %494 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%496 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%495, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%497 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%498 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %497 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%499 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%498 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%500 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%501 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %500 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%502 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%501, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%503 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%496, %502 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%504 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%503, %502, %496 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%505 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%504, %499 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%506 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%505, %499, %504 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%507 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%506 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%508 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%507, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%509 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%508, %494 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%510 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_41 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%511 = tensor.collapse_shape %510 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%512 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_42, %511 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%513 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%514 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%513 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%515 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%514 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%516 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%512 : tensor<320x320xf16>) outs(%515 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%517 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%516 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%518 = tensor.collapse_shape %509 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%519 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%520 = linalg.matmul ins(%518, %517 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%519 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%521 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_43, %520 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%522 = tensor.expand_shape %arg2 [[0], [1], [2, 3]] : tensor<2x77x768xf32> into tensor<2x77x48x16xf32>
%523 = linalg.init_tensor [2, 77, 48, 16] : tensor<2x77x48x16xf32>
%524 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%525 = linalg.init_tensor [2, 77, 48, 1] : tensor<2x77x48x1xi64>
%526 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%527 = linalg.init_tensor [2, 77, 48, 1] : tensor<2x77x48x1xf32>
%528 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%529:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%524 : tensor<2x77x48x16xf32>) outs(%528, %526 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%530 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%529#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%531 = tensor.collapse_shape %530 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%532 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%533 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %532 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%534 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%533 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%535 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%534 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%536 = linalg.init_tensor [2, 77, 768] : tensor<2x77x768xf32>
%537 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%531, %535 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%538 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %537 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%539 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%538, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%540 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%541 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %540 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%542 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%541 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%543 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%544 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %543 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%545 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%544, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%546 = linalg.init_tensor [2, 77, 768] : tensor<2x77x768xi1>
%547 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%539, %545 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%548 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%547, %545, %539 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%549 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%548, %542 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%550 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%549, %542, %548 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%551 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%550 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%552 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%551, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%553 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%552, %537 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%554 = linalg.init_tensor [320, 48, 16] : tensor<320x48x16xf16>
%555 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_44 : tensor<320x48x1xf16>) outs(%554 : tensor<320x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x48x16xf16>
%556 = tensor.collapse_shape %555 [[0], [1, 2]] : tensor<320x48x16xf16> into tensor<320x768xf16>
%557 = linalg.init_tensor [320, 768] : tensor<320x768xf16>
%558 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_45, %556 : tensor<320x768xi8>, tensor<320x768xf16>) outs(%557 : tensor<320x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x768xf16>
%559 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%560 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%559 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%561 = linalg.init_tensor [320, 768] : tensor<320x768xf32>
%562 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%560 : tensor<f32>) outs(%561 : tensor<320x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x768xf32>
%563 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%558 : tensor<320x768xf16>) outs(%562 : tensor<320x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x768xf32>
%564 = linalg.init_tensor [768, 320] : tensor<768x320xf32>
%565 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%563 : tensor<320x768xf32>) outs(%564 : tensor<768x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x320xf32>
%566 = tensor.collapse_shape %553 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%567 = linalg.init_tensor [154, 320] : tensor<154x320xf32>
%568 = linalg.fill ins(%cst_894 : f32) outs(%567 : tensor<154x320xf32>) -> tensor<154x320xf32>
%569 = linalg.matmul ins(%566, %565 : tensor<154x768xf32>, tensor<768x320xf32>) outs(%568 : tensor<154x320xf32>) -> tensor<154x320xf32>
%570 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%571 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%572 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%573:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%570 : tensor<2x77x48x16xf32>) outs(%572, %571 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%574 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%573#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%575 = tensor.collapse_shape %574 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%576 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%577 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %576 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%578 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%577 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%579 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%578 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%580 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%575, %579 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%581 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %580 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%582 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%581, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%583 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%584 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %583 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%585 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%584 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%586 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%587 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %586 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%588 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%587, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%589 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%582, %588 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%590 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%589, %588, %582 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%591 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%590, %585 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%592 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%591, %585, %590 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%593 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%592 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%594 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%593, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%595 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%594, %580 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%596 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_46 : tensor<320x48x1xf16>) outs(%554 : tensor<320x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x48x16xf16>
%597 = tensor.collapse_shape %596 [[0], [1, 2]] : tensor<320x48x16xf16> into tensor<320x768xf16>
%598 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_47, %597 : tensor<320x768xi8>, tensor<320x768xf16>) outs(%557 : tensor<320x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x768xf16>
%599 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%600 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%599 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%601 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%600 : tensor<f32>) outs(%561 : tensor<320x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x768xf32>
%602 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%598 : tensor<320x768xf16>) outs(%601 : tensor<320x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x768xf32>
%603 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%602 : tensor<320x768xf32>) outs(%564 : tensor<768x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x320xf32>
%604 = tensor.collapse_shape %595 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%605 = linalg.fill ins(%cst_894 : f32) outs(%567 : tensor<154x320xf32>) -> tensor<154x320xf32>
%606 = linalg.matmul ins(%604, %603 : tensor<154x768xf32>, tensor<768x320xf32>) outs(%605 : tensor<154x320xf32>) -> tensor<154x320xf32>
%607 = tensor.expand_shape %521 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%608 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%607 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%609 = tensor.collapse_shape %608 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%610 = tensor.expand_shape %569 [[0, 1], [2, 3]] : tensor<154x320xf32> into tensor<2x77x8x40xf32>
%611 = linalg.init_tensor [2, 8, 77, 40] : tensor<2x8x77x40xf32>
%612 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%610 : tensor<2x77x8x40xf32>) outs(%611 : tensor<2x8x77x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x40xf32>
%613 = tensor.collapse_shape %612 [[0, 1], [2], [3]] : tensor<2x8x77x40xf32> into tensor<16x77x40xf32>
%614 = tensor.expand_shape %606 [[0, 1], [2, 3]] : tensor<154x320xf32> into tensor<2x77x8x40xf32>
%615 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%614 : tensor<2x77x8x40xf32>) outs(%611 : tensor<2x8x77x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x40xf32>
%616 = tensor.collapse_shape %615 [[0, 1], [2], [3]] : tensor<2x8x77x40xf32> into tensor<16x77x40xf32>
%617 = linalg.init_tensor [16, 40, 77] : tensor<16x40x77xf32>
%618 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%613 : tensor<16x77x40xf32>) outs(%617 : tensor<16x40x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x40x77xf32>
%619 = linalg.init_tensor [16, 4096, 77] : tensor<16x4096x77xf32>
%620 = linalg.fill ins(%cst_894 : f32) outs(%619 : tensor<16x4096x77xf32>) -> tensor<16x4096x77xf32>
%621 = linalg.batch_matmul ins(%609, %618 : tensor<16x4096x40xf32>, tensor<16x40x77xf32>) outs(%620 : tensor<16x4096x77xf32>) -> tensor<16x4096x77xf32>
%622 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%621, %cst_1 : tensor<16x4096x77xf32>, tensor<f64>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x4096x77xf32>
%623 = linalg.fill ins(%c0_i64 : i64) outs(%412 : tensor<16x4096x1xi64>) -> tensor<16x4096x1xi64>
%624 = linalg.fill ins(%cst_889 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%625:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%622 : tensor<16x4096x77xf32>) outs(%624, %623 : tensor<16x4096x1xf32>, tensor<16x4096x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x4096x1xf32>, tensor<16x4096x1xi64>)
%626 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%622, %625#0 : tensor<16x4096x77xf32>, tensor<16x4096x1xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%627 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%626 : tensor<16x4096x77xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%628 = linalg.fill ins(%cst_894 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%629 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%627 : tensor<16x4096x77xf32>) outs(%628 : tensor<16x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x1xf32>
%630 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%627, %629 : tensor<16x4096x77xf32>, tensor<16x4096x1xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%631 = linalg.fill ins(%cst_894 : f32) outs(%422 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%632 = linalg.batch_matmul ins(%630, %616 : tensor<16x4096x77xf32>, tensor<16x77x40xf32>) outs(%631 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%633 = tensor.expand_shape %632 [[0, 1], [2], [3]] : tensor<16x4096x40xf32> into tensor<2x8x4096x40xf32>
%634 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%633 : tensor<2x8x4096x40xf32>) outs(%426 : tensor<2x4096x8x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x8x40xf32>
%635 = tensor.collapse_shape %634 [[0], [1], [2, 3]] : tensor<2x4096x8x40xf32> into tensor<2x4096x320xf32>
%636 = tensor.expand_shape %635 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%637 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%636 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%638 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%639 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%640:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%637 : tensor<2x4096x20x16xf32>) outs(%639, %638 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%641 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%640#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%642 = tensor.collapse_shape %641 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%643 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%644 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %643 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%645 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%644 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%646 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%645 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%647 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%642, %646 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%648 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%635, %647 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%649 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%648, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%650 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%651 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %650 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%652 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%651 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%653 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%654 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %653 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%655 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%654, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%656 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%649, %655 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%657 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%656, %655, %649 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%658 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%657, %652 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%659 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%658, %652, %657 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%660 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%659 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%661 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%660, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%662 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%661, %647 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%663 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_48 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%664 = tensor.collapse_shape %663 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%665 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_49, %664 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%666 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%667 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%666 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%668 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%667 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%669 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%665 : tensor<320x320xf16>) outs(%668 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%670 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%669 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%671 = tensor.collapse_shape %662 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%672 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%673 = linalg.matmul ins(%671, %670 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%672 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%674 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_50, %673 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%675 = tensor.expand_shape %674 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%676 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%675, %469 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%677 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%678 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%676 : tensor<2x4096x320xf32>) outs(%677 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%679 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%678 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%680 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%679 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%681 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%676, %680 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%682 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%681 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%683 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%684 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%682 : tensor<2x4096x320xf32>) outs(%683 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%685 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%684 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%686 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%685 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%687 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%686 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%688 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%687 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%689 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%681, %688 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%690 = linalg.init_tensor [2560, 20, 16] : tensor<2560x20x16xf16>
%691 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_51 : tensor<2560x20x1xf16>) outs(%690 : tensor<2560x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<2560x20x16xf16>
%692 = tensor.collapse_shape %691 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16>
%693 = linalg.init_tensor [2560, 320] : tensor<2560x320xf16>
%694 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_52, %692 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%693 : tensor<2560x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<2560x320xf16>
%695 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%696 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%695 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%697 = linalg.init_tensor [2560, 320] : tensor<2560x320xf32>
%698 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%696 : tensor<f32>) outs(%697 : tensor<2560x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2560x320xf32>
%699 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%694 : tensor<2560x320xf16>) outs(%698 : tensor<2560x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<2560x320xf32>
%700 = linalg.init_tensor [320, 2560] : tensor<320x2560xf32>
%701 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%699 : tensor<2560x320xf32>) outs(%700 : tensor<320x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x2560xf32>
%702 = tensor.collapse_shape %689 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%703 = linalg.init_tensor [8192, 2560] : tensor<8192x2560xf32>
%704 = linalg.fill ins(%cst_894 : f32) outs(%703 : tensor<8192x2560xf32>) -> tensor<8192x2560xf32>
%705 = linalg.matmul ins(%702, %701 : tensor<8192x320xf32>, tensor<320x2560xf32>) outs(%704 : tensor<8192x2560xf32>) -> tensor<8192x2560xf32>
%706 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_53, %705 : tensor<2560xf32>, tensor<8192x2560xf32>) outs(%703 : tensor<8192x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x2560xf32>
%707 = tensor.expand_shape %706 [[0, 1], [2]] : tensor<8192x2560xf32> into tensor<2x4096x2560xf32>
%708 = tensor.extract_slice %707[0, 0, 0] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf32> to tensor<2x4096x1280xf32>
%709 = tensor.extract_slice %707[0, 0, 1280] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf32> to tensor<2x4096x1280xf32>
%710 = linalg.init_tensor [2, 4096, 1280] : tensor<2x4096x1280xf32>
%711 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%709 : tensor<2x4096x1280xf32>) outs(%710 : tensor<2x4096x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_890 : f32
%12739 = math.erf %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.mulf %12740, %cst_891 : f32
%12742 = arith.mulf %arg3, %12741 : f32
linalg.yield %12742 : f32
} -> tensor<2x4096x1280xf32>
%712 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%708, %711 : tensor<2x4096x1280xf32>, tensor<2x4096x1280xf32>) outs(%710 : tensor<2x4096x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1280xf32>
%713 = linalg.init_tensor [320, 80, 16] : tensor<320x80x16xf16>
%714 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_54 : tensor<320x80x1xf16>) outs(%713 : tensor<320x80x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x80x16xf16>
%715 = tensor.collapse_shape %714 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16>
%716 = linalg.init_tensor [320, 1280] : tensor<320x1280xf16>
%717 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_55, %715 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%716 : tensor<320x1280xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x1280xf16>
%718 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%719 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%718 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%720 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%719 : tensor<f32>) outs(%26 : tensor<320x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x1280xf32>
%721 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%717 : tensor<320x1280xf16>) outs(%720 : tensor<320x1280xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x1280xf32>
%722 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%721 : tensor<320x1280xf32>) outs(%120 : tensor<1280x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x320xf32>
%723 = tensor.collapse_shape %712 [[0, 1], [2]] : tensor<2x4096x1280xf32> into tensor<8192x1280xf32>
%724 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%725 = linalg.matmul ins(%723, %722 : tensor<8192x1280xf32>, tensor<1280x320xf32>) outs(%724 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%726 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_56, %725 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%727 = tensor.expand_shape %726 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%728 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%727, %676 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%729 = tensor.expand_shape %728 [[0], [1, 2], [3]] : tensor<2x4096x320xf32> into tensor<2x64x64x320xf32>
%730 = linalg.generic {indexing_maps = [#map11, #map26], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%729 : tensor<2x64x64x320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%731 = tensor.expand_shape %730 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%732 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%731 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%733 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%734 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%735:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%732 : tensor<2x20x16x64x64xf32>) outs(%734, %733 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%736 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%735#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%737 = tensor.collapse_shape %736 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%738 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%739 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %738 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%740 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%739 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%741 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%740 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%742 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%737, %741 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%743 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%730, %742 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%744 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%743, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%745 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%746 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %745 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%747 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%746 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%748 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%749 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %748 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%750 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%749, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%751 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%744, %750 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%752 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%751, %750, %744 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%753 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%752, %747 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%754 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%753, %747, %752 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%755 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%754 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%756 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%755, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%757 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%756, %742 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%758 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_57 : tensor<320x20x1x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%759 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%758 : tensor<320x20x16x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%760 = tensor.collapse_shape %759 [[0], [1, 2], [3], [4]] : tensor<320x20x16x1x1xf16> into tensor<320x320x1x1xf16>
%761 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_58, %760 : tensor<320x320x1x1xi8>, tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x1x1xf16>
%762 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%763 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%762 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%764 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%763 : tensor<f32>) outs(%249 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x1x1xf32>
%765 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%761 : tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x320x1x1xf16>
%766 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%765 : tensor<320x320x1x1xf16>) outs(%764 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x1x1xf32>
%767 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_59 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%768 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%757, %766 : tensor<2x320x64x64xf32>, tensor<320x320x1x1xf32>) outs(%767 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%769 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%768, %192 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%770 = tensor.collapse_shape %769 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%771 = tensor.expand_shape %770 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%772 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%771 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%773 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%774 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%772 : tensor<2x32x10x4096xf64>) outs(%773 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%775 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%774 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%776 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%772, %775 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%777 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%776 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%778 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%779 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%777 : tensor<2x32x10x4096xf64>) outs(%778 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%780 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%779 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%781 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%780 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%782 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%783 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%771 : tensor<2x32x10x4096xf32>) outs(%782 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%784 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%783 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%785 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%781, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%786 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%785 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%787 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%771, %784 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%788 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%787, %786 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%789 = tensor.collapse_shape %788 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%790 = tensor.expand_shape %789 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%791 = tensor.expand_shape %cst_60 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%792 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%790, %791 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%793 = tensor.expand_shape %cst_61 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%794 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%792, %793 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%795 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%794 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x320x64x64xf32>
%796 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%795, %794 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%797 = tensor.expand_shape %796 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%798 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%797 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%799 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%800 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%801:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%798 : tensor<2x20x16x64x64xf32>) outs(%800, %799 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%802 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%801#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%803 = tensor.collapse_shape %802 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%804 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%805 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %804 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%806 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%805 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%807 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%806 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%808 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%803, %807 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%809 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%796, %808 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%810 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%809, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%811 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%812 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %811 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%813 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%812 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%814 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%815 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %814 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%816 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%815, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%817 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%810, %816 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%818 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%817, %816, %810 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%819 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%818, %813 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%820 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%819, %813, %818 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%821 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%820 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%822 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%821, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%823 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%822, %808 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%824 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_62 : tensor<320x20x1x3x3xf16>) outs(%105 : tensor<320x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x3x3xf16>
%825 = tensor.collapse_shape %824 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16>
%826 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_63, %825 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%108 : tensor<320x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x3x3xf16>
%827 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%828 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%827 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%829 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%828 : tensor<f32>) outs(%112 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x3x3xf32>
%830 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%826 : tensor<320x320x3x3xf16>) outs(%829 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x3x3xf32>
%831 = tensor.pad %823 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x64x64xf32> to tensor<2x320x66x66xf32>
%832 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_64 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%833 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%831, %830 : tensor<2x320x66x66xf32>, tensor<320x320x3x3xf32>) outs(%832 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%834 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%38 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%835 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%834, %38 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%836 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_65 : tensor<320x1280xf32>) outs(%120 : tensor<1280x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x320xf32>
%837 = linalg.fill ins(%cst_894 : f32) outs(%20 : tensor<2x320xf32>) -> tensor<2x320xf32>
%838 = linalg.matmul ins(%835, %836 : tensor<2x1280xf32>, tensor<1280x320xf32>) outs(%837 : tensor<2x320xf32>) -> tensor<2x320xf32>
%839 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_66, %838 : tensor<320xf32>, tensor<2x320xf32>) outs(%20 : tensor<2x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320xf32>
%840 = tensor.expand_shape %839 [[0], [1, 2, 3]] : tensor<2x320xf32> into tensor<2x320x1x1xf32>
%841 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%833, %840 : tensor<2x320x64x64xf32>, tensor<2x320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%842 = tensor.collapse_shape %841 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%843 = tensor.expand_shape %842 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%844 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%843 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%845 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%846 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%844 : tensor<2x32x10x4096xf64>) outs(%845 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%847 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%846 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%848 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%844, %847 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%849 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%848 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%850 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%851 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%849 : tensor<2x32x10x4096xf64>) outs(%850 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%852 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%851 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%853 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%852 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%854 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%855 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%843 : tensor<2x32x10x4096xf32>) outs(%854 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%856 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%855 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%857 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%853, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%858 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%857 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%859 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%843, %856 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%860 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%859, %858 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%861 = tensor.collapse_shape %860 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%862 = tensor.expand_shape %861 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%863 = tensor.expand_shape %cst_67 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%864 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%862, %863 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%865 = tensor.expand_shape %cst_68 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%866 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%864, %865 : tensor<2x320x64x64xf32>, tensor<320x1x1xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%867 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%866 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x320x64x64xf32>
%868 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%867, %866 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%869 = tensor.expand_shape %868 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%870 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%869 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%871 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%872 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%873:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%870 : tensor<2x20x16x64x64xf32>) outs(%872, %871 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%874 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%873#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%875 = tensor.collapse_shape %874 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%876 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%877 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %876 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%878 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%877 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%879 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%878 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%880 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%875, %879 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%881 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%868, %880 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%882 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%881, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%883 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%884 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %883 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%885 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%884 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%886 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%887 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %886 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%888 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%887, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%889 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%882, %888 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%890 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%889, %888, %882 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%891 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%890, %885 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%892 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%891, %885, %890 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%893 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%892 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%894 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%893, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%895 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%894, %880 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%896 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_69 : tensor<320x20x1x3x3xf16>) outs(%105 : tensor<320x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x3x3xf16>
%897 = tensor.collapse_shape %896 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16>
%898 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_70, %897 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%108 : tensor<320x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x3x3xf16>
%899 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%900 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%899 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%901 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%900 : tensor<f32>) outs(%112 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x3x3xf32>
%902 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%898 : tensor<320x320x3x3xf16>) outs(%901 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x3x3xf32>
%903 = tensor.pad %895 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x64x64xf32> to tensor<2x320x66x66xf32>
%904 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_71 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%905 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%903, %902 : tensor<2x320x66x66xf32>, tensor<320x320x3x3xf32>) outs(%904 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%906 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%769, %905 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%907 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%906, %cst_3 : tensor<2x320x64x64xf32>, tensor<f64>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.divf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x320x64x64xf32>
%908 = tensor.collapse_shape %907 [[0], [1], [2, 3]] : tensor<2x320x64x64xf32> into tensor<2x320x4096xf32>
%909 = tensor.expand_shape %908 [[0], [1, 2], [3]] : tensor<2x320x4096xf32> into tensor<2x32x10x4096xf32>
%910 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%909 : tensor<2x32x10x4096xf32>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%911 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%912 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%910 : tensor<2x32x10x4096xf64>) outs(%911 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%913 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%912 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%914 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%910, %913 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%915 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%914 : tensor<2x32x10x4096xf64>) outs(%45 : tensor<2x32x10x4096xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x4096xf64>
%916 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%917 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%915 : tensor<2x32x10x4096xf64>) outs(%916 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%918 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%917 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_896 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%919 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%918 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%920 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%921 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%909 : tensor<2x32x10x4096xf32>) outs(%920 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%922 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%921 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_897 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%923 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%919, %cst_2 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%924 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%923 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%925 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%909, %922 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%926 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%925, %924 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%63 : tensor<2x32x10x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x4096xf32>
%927 = tensor.collapse_shape %926 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32>
%928 = tensor.expand_shape %927 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32>
%929 = tensor.expand_shape %927 [[0], [1, 2], [3, 4]] : tensor<2x320x4096xf32> into tensor<2x20x16x64x64xf32>
%930 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%929 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%931 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%932 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%933:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%930 : tensor<2x20x16x64x64xf32>) outs(%932, %931 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%934 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%933#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%935 = tensor.collapse_shape %934 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%936 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%937 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %936 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%938 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%937 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%939 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%938 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%940 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%935, %939 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%941 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%928, %940 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%942 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%941, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%943 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%944 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %943 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%945 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%944 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%946 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%947 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %946 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%948 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%947, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%949 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%942, %948 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%950 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%949, %948, %942 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%951 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%950, %945 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%952 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%951, %945, %950 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%953 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%952 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%954 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%953, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%955 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%954, %940 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%956 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_72 : tensor<320x20x1x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%957 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%956 : tensor<320x20x16x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%958 = tensor.collapse_shape %957 [[0], [1, 2], [3], [4]] : tensor<320x20x16x1x1xf16> into tensor<320x320x1x1xf16>
%959 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_73, %958 : tensor<320x320x1x1xi8>, tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x1x1xf16>
%960 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%961 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%960 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%962 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%961 : tensor<f32>) outs(%249 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x1x1xf32>
%963 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%959 : tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x320x1x1xf16>
%964 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%963 : tensor<320x320x1x1xf16>) outs(%962 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x1x1xf32>
%965 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_74 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%966 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%955, %964 : tensor<2x320x64x64xf32>, tensor<320x320x1x1xf32>) outs(%965 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%967 = linalg.generic {indexing_maps = [#map11, #map19], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%966 : tensor<2x320x64x64xf32>) outs(%255 : tensor<2x64x64x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x64x64x320xf32>
%968 = tensor.collapse_shape %967 [[0], [1, 2], [3]] : tensor<2x64x64x320xf32> into tensor<2x4096x320xf32>
%969 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%970 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%968 : tensor<2x4096x320xf32>) outs(%969 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%971 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%970 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%972 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%971 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%973 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%968, %972 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%974 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%973 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%975 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%976 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%974 : tensor<2x4096x320xf32>) outs(%975 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%977 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%976 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%978 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%977 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%979 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%978 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%980 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%979 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%981 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%973, %980 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%982 = tensor.expand_shape %981 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%983 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%982 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%984 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%985 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%986:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%983 : tensor<2x4096x20x16xf32>) outs(%985, %984 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%987 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%986#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%988 = tensor.collapse_shape %987 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%989 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%990 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %989 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%991 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%990 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%992 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%991 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%993 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%988, %992 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%994 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%981, %993 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%995 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%994, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%996 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%997 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %996 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%998 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%997 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%999 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1000 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %999 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1001 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1000, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1002 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%995, %1001 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1003 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1002, %1001, %995 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1004 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1003, %998 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1005 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1004, %998, %1003 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1006 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1005 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1007 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1006, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1008 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1007, %993 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1009 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_75 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1010 = tensor.collapse_shape %1009 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1011 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_76, %1010 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1012 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1013 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1012 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1014 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1013 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1015 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1011 : tensor<320x320xf16>) outs(%1014 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1016 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1015 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1017 = tensor.collapse_shape %1008 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1018 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1019 = linalg.matmul ins(%1017, %1016 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1018 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1020 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_77, %1019 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1021 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%982 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%1022 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%1023 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%1024:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1021 : tensor<2x4096x20x16xf32>) outs(%1023, %1022 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%1025 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1024#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%1026 = tensor.collapse_shape %1025 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%1027 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1028 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1027 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1029 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1028 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1030 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1029 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1031 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1026, %1030 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1032 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%981, %1031 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1033 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1032, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1034 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1035 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1034 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1036 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1035 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1037 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1038 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1037 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1039 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1038, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1040 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1033, %1039 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1041 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1040, %1039, %1033 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1042 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1041, %1036 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1043 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1042, %1036, %1041 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1044 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1043 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1045 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1044, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1046 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1045, %1031 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1047 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_78 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1048 = tensor.collapse_shape %1047 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1049 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_79, %1048 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1050 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1051 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1050 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1052 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1051 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1053 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1049 : tensor<320x320xf16>) outs(%1052 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1054 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1053 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1055 = tensor.collapse_shape %1046 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1056 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1057 = linalg.matmul ins(%1055, %1054 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1056 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1058 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_80, %1057 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1059 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%982 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%1060 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%1061 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%1062:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1059 : tensor<2x4096x20x16xf32>) outs(%1061, %1060 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%1063 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1062#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%1064 = tensor.collapse_shape %1063 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%1065 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1066 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1065 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1067 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1066 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1068 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1067 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1069 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1064, %1068 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1070 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%981, %1069 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1071 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1070, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1072 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1073 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1072 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1074 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1073 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1075 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1076 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1075 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1077 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1076, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1078 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1071, %1077 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1079 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1078, %1077, %1071 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1080 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1079, %1074 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1081 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1080, %1074, %1079 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1082 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1081 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1083 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1082, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1084 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1083, %1069 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1085 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_81 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1086 = tensor.collapse_shape %1085 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1087 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_82, %1086 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1088 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1089 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1088 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1090 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1089 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1091 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1087 : tensor<320x320xf16>) outs(%1090 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1092 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1091 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1093 = tensor.collapse_shape %1084 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1094 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1095 = linalg.matmul ins(%1093, %1092 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1094 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1096 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_83, %1095 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1097 = tensor.expand_shape %1020 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%1098 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1097 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%1099 = tensor.collapse_shape %1098 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%1100 = tensor.expand_shape %1058 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%1101 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1100 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%1102 = tensor.collapse_shape %1101 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%1103 = tensor.expand_shape %1096 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%1104 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1103 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%1105 = tensor.collapse_shape %1104 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%1106 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1102 : tensor<16x4096x40xf32>) outs(%406 : tensor<16x40x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x40x4096xf32>
%1107 = linalg.fill ins(%cst_894 : f32) outs(%408 : tensor<16x4096x4096xf32>) -> tensor<16x4096x4096xf32>
%1108 = linalg.batch_matmul ins(%1099, %1106 : tensor<16x4096x40xf32>, tensor<16x40x4096xf32>) outs(%1107 : tensor<16x4096x4096xf32>) -> tensor<16x4096x4096xf32>
%1109 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1108, %cst_1 : tensor<16x4096x4096xf32>, tensor<f64>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x4096x4096xf32>
%1110 = linalg.fill ins(%c0_i64 : i64) outs(%412 : tensor<16x4096x1xi64>) -> tensor<16x4096x1xi64>
%1111 = linalg.fill ins(%cst_889 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%1112:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1109 : tensor<16x4096x4096xf32>) outs(%1111, %1110 : tensor<16x4096x1xf32>, tensor<16x4096x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x4096x1xf32>, tensor<16x4096x1xi64>)
%1113 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1109, %1112#0 : tensor<16x4096x4096xf32>, tensor<16x4096x1xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%1114 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1113 : tensor<16x4096x4096xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%1115 = linalg.fill ins(%cst_894 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%1116 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1114 : tensor<16x4096x4096xf32>) outs(%1115 : tensor<16x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x1xf32>
%1117 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1114, %1116 : tensor<16x4096x4096xf32>, tensor<16x4096x1xf32>) outs(%408 : tensor<16x4096x4096xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x4096xf32>
%1118 = linalg.fill ins(%cst_894 : f32) outs(%422 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%1119 = linalg.batch_matmul ins(%1117, %1105 : tensor<16x4096x4096xf32>, tensor<16x4096x40xf32>) outs(%1118 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%1120 = tensor.expand_shape %1119 [[0, 1], [2], [3]] : tensor<16x4096x40xf32> into tensor<2x8x4096x40xf32>
%1121 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1120 : tensor<2x8x4096x40xf32>) outs(%426 : tensor<2x4096x8x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x8x40xf32>
%1122 = tensor.collapse_shape %1121 [[0], [1], [2, 3]] : tensor<2x4096x8x40xf32> into tensor<2x4096x320xf32>
%1123 = tensor.expand_shape %1122 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%1124 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1123 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%1125 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%1126 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%1127:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1124 : tensor<2x4096x20x16xf32>) outs(%1126, %1125 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%1128 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1127#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%1129 = tensor.collapse_shape %1128 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%1130 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1131 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1130 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1132 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1131 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1133 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1132 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1134 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1129, %1133 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1135 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1122, %1134 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1136 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1135, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1137 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1138 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1137 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1139 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1138 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1140 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1141 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1140 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1142 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1141, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1143 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1136, %1142 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1144 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1143, %1142, %1136 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1145 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1144, %1139 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1146 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1145, %1139, %1144 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1147 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1146 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1148 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1147, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1149 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1148, %1134 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1150 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_84 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1151 = tensor.collapse_shape %1150 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1152 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_85, %1151 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1153 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1154 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1153 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1155 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1154 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1156 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1152 : tensor<320x320xf16>) outs(%1155 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1157 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1156 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1158 = tensor.collapse_shape %1149 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1159 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1160 = linalg.matmul ins(%1158, %1157 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1159 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1161 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_86, %1160 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1162 = tensor.expand_shape %1161 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%1163 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1162, %968 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1164 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%1165 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1163 : tensor<2x4096x320xf32>) outs(%1164 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1166 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1165 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1167 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1166 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%1168 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1163, %1167 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1169 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1168 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1170 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%1171 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1169 : tensor<2x4096x320xf32>) outs(%1170 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1172 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1171 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1173 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1172 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%1174 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1173 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1175 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1174 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%1176 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1168, %1175 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1177 = tensor.expand_shape %1176 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%1178 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1177 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%1179 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%1180 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%1181:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1178 : tensor<2x4096x20x16xf32>) outs(%1180, %1179 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%1182 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1181#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%1183 = tensor.collapse_shape %1182 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%1184 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1185 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1184 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1186 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1185 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1187 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1186 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1188 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1183, %1187 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1189 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1176, %1188 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1190 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1189, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1191 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1192 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1191 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1193 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1192 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1194 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1195 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1194 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1196 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1195, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1197 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1190, %1196 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1198 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1197, %1196, %1190 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1199 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1198, %1193 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1200 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1199, %1193, %1198 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1201 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1200 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1202 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1201, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1203 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1202, %1188 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1204 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_87 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1205 = tensor.collapse_shape %1204 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1206 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_88, %1205 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1207 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1208 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1207 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1209 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1208 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1210 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1206 : tensor<320x320xf16>) outs(%1209 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1211 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1210 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1212 = tensor.collapse_shape %1203 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1213 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1214 = linalg.matmul ins(%1212, %1211 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1213 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1215 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_89, %1214 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1216 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%1217 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%1218 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%1219:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1216 : tensor<2x77x48x16xf32>) outs(%1218, %1217 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%1220 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1219#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%1221 = tensor.collapse_shape %1220 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%1222 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1223 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1222 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1224 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1223 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1225 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1224 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1226 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1221, %1225 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1227 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %1226 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1228 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1227, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1229 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1230 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1229 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1231 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1230 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1232 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1233 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1232 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1234 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1233, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1235 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1228, %1234 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%1236 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1235, %1234, %1228 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1237 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1236, %1231 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%1238 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1237, %1231, %1236 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1239 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1238 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1240 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1239, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1241 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1240, %1226 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1242 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_90 : tensor<320x48x1xf16>) outs(%554 : tensor<320x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x48x16xf16>
%1243 = tensor.collapse_shape %1242 [[0], [1, 2]] : tensor<320x48x16xf16> into tensor<320x768xf16>
%1244 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_91, %1243 : tensor<320x768xi8>, tensor<320x768xf16>) outs(%557 : tensor<320x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x768xf16>
%1245 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1246 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1245 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1247 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1246 : tensor<f32>) outs(%561 : tensor<320x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x768xf32>
%1248 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1244 : tensor<320x768xf16>) outs(%1247 : tensor<320x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x768xf32>
%1249 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1248 : tensor<320x768xf32>) outs(%564 : tensor<768x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x320xf32>
%1250 = tensor.collapse_shape %1241 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%1251 = linalg.fill ins(%cst_894 : f32) outs(%567 : tensor<154x320xf32>) -> tensor<154x320xf32>
%1252 = linalg.matmul ins(%1250, %1249 : tensor<154x768xf32>, tensor<768x320xf32>) outs(%1251 : tensor<154x320xf32>) -> tensor<154x320xf32>
%1253 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%1254 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%1255 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%1256:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1253 : tensor<2x77x48x16xf32>) outs(%1255, %1254 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%1257 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1256#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%1258 = tensor.collapse_shape %1257 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%1259 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1260 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1259 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1261 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1260 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1262 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1261 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1263 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1258, %1262 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1264 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %1263 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1265 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1264, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1266 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1267 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1266 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1268 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1267 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1269 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1270 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1269 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1271 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1270, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1272 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1265, %1271 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%1273 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1272, %1271, %1265 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1274 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1273, %1268 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%1275 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1274, %1268, %1273 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1276 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1275 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1277 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1276, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1278 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1277, %1263 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%1279 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_92 : tensor<320x48x1xf16>) outs(%554 : tensor<320x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x48x16xf16>
%1280 = tensor.collapse_shape %1279 [[0], [1, 2]] : tensor<320x48x16xf16> into tensor<320x768xf16>
%1281 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_93, %1280 : tensor<320x768xi8>, tensor<320x768xf16>) outs(%557 : tensor<320x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x768xf16>
%1282 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1283 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1282 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1284 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1283 : tensor<f32>) outs(%561 : tensor<320x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x768xf32>
%1285 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1281 : tensor<320x768xf16>) outs(%1284 : tensor<320x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x768xf32>
%1286 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1285 : tensor<320x768xf32>) outs(%564 : tensor<768x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x320xf32>
%1287 = tensor.collapse_shape %1278 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%1288 = linalg.fill ins(%cst_894 : f32) outs(%567 : tensor<154x320xf32>) -> tensor<154x320xf32>
%1289 = linalg.matmul ins(%1287, %1286 : tensor<154x768xf32>, tensor<768x320xf32>) outs(%1288 : tensor<154x320xf32>) -> tensor<154x320xf32>
%1290 = tensor.expand_shape %1215 [[0, 1], [2, 3]] : tensor<8192x320xf32> into tensor<2x4096x8x40xf32>
%1291 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1290 : tensor<2x4096x8x40xf32>) outs(%397 : tensor<2x8x4096x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x4096x40xf32>
%1292 = tensor.collapse_shape %1291 [[0, 1], [2], [3]] : tensor<2x8x4096x40xf32> into tensor<16x4096x40xf32>
%1293 = tensor.expand_shape %1252 [[0, 1], [2, 3]] : tensor<154x320xf32> into tensor<2x77x8x40xf32>
%1294 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1293 : tensor<2x77x8x40xf32>) outs(%611 : tensor<2x8x77x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x40xf32>
%1295 = tensor.collapse_shape %1294 [[0, 1], [2], [3]] : tensor<2x8x77x40xf32> into tensor<16x77x40xf32>
%1296 = tensor.expand_shape %1289 [[0, 1], [2, 3]] : tensor<154x320xf32> into tensor<2x77x8x40xf32>
%1297 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1296 : tensor<2x77x8x40xf32>) outs(%611 : tensor<2x8x77x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x40xf32>
%1298 = tensor.collapse_shape %1297 [[0, 1], [2], [3]] : tensor<2x8x77x40xf32> into tensor<16x77x40xf32>
%1299 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1295 : tensor<16x77x40xf32>) outs(%617 : tensor<16x40x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x40x77xf32>
%1300 = linalg.fill ins(%cst_894 : f32) outs(%619 : tensor<16x4096x77xf32>) -> tensor<16x4096x77xf32>
%1301 = linalg.batch_matmul ins(%1292, %1299 : tensor<16x4096x40xf32>, tensor<16x40x77xf32>) outs(%1300 : tensor<16x4096x77xf32>) -> tensor<16x4096x77xf32>
%1302 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1301, %cst_1 : tensor<16x4096x77xf32>, tensor<f64>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x4096x77xf32>
%1303 = linalg.fill ins(%c0_i64 : i64) outs(%412 : tensor<16x4096x1xi64>) -> tensor<16x4096x1xi64>
%1304 = linalg.fill ins(%cst_889 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%1305:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1302 : tensor<16x4096x77xf32>) outs(%1304, %1303 : tensor<16x4096x1xf32>, tensor<16x4096x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x4096x1xf32>, tensor<16x4096x1xi64>)
%1306 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1302, %1305#0 : tensor<16x4096x77xf32>, tensor<16x4096x1xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%1307 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1306 : tensor<16x4096x77xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%1308 = linalg.fill ins(%cst_894 : f32) outs(%414 : tensor<16x4096x1xf32>) -> tensor<16x4096x1xf32>
%1309 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1307 : tensor<16x4096x77xf32>) outs(%1308 : tensor<16x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x1xf32>
%1310 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1307, %1309 : tensor<16x4096x77xf32>, tensor<16x4096x1xf32>) outs(%619 : tensor<16x4096x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x4096x77xf32>
%1311 = linalg.fill ins(%cst_894 : f32) outs(%422 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%1312 = linalg.batch_matmul ins(%1310, %1298 : tensor<16x4096x77xf32>, tensor<16x77x40xf32>) outs(%1311 : tensor<16x4096x40xf32>) -> tensor<16x4096x40xf32>
%1313 = tensor.expand_shape %1312 [[0, 1], [2], [3]] : tensor<16x4096x40xf32> into tensor<2x8x4096x40xf32>
%1314 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1313 : tensor<2x8x4096x40xf32>) outs(%426 : tensor<2x4096x8x40xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x8x40xf32>
%1315 = tensor.collapse_shape %1314 [[0], [1], [2, 3]] : tensor<2x4096x8x40xf32> into tensor<2x4096x320xf32>
%1316 = tensor.expand_shape %1315 [[0], [1], [2, 3]] : tensor<2x4096x320xf32> into tensor<2x4096x20x16xf32>
%1317 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1316 : tensor<2x4096x20x16xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x20x16xf32>
%1318 = linalg.fill ins(%c0_i64 : i64) outs(%276 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64>
%1319 = linalg.fill ins(%cst_889 : f32) outs(%278 : tensor<2x4096x20x1xf32>) -> tensor<2x4096x20x1xf32>
%1320:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1317 : tensor<2x4096x20x16xf32>) outs(%1319, %1318 : tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x4096x20x1xf32>, tensor<2x4096x20x1xi64>)
%1321 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1320#0 : tensor<2x4096x20x1xf32>) outs(%274 : tensor<2x4096x20x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x20x16xf32>
%1322 = tensor.collapse_shape %1321 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf32> into tensor<2x4096x320xf32>
%1323 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1324 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1323 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1325 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1324 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1326 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1325 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1327 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %1326 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1328 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1315, %1327 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1329 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1328, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1330 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1331 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1330 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1332 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1331 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1333 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1334 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1333 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1335 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1334, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1336 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1329, %1335 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1337 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1336, %1335, %1329 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1338 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1337, %1332 : tensor<2x4096x320xf32>, tensor<f32>) outs(%296 : tensor<2x4096x320xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x4096x320xi1>
%1339 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1338, %1332, %1337 : tensor<2x4096x320xi1>, tensor<f32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1340 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1339 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1341 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1340, %cst_880 : tensor<2x4096x320xf32>, tensor<f32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1342 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1341, %1327 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1343 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_94 : tensor<320x20x1xf16>) outs(%304 : tensor<320x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16xf16>
%1344 = tensor.collapse_shape %1343 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16>
%1345 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_95, %1344 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%307 : tensor<320x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320xf16>
%1346 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1347 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1346 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1348 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1347 : tensor<f32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1349 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1345 : tensor<320x320xf16>) outs(%1348 : tensor<320x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320xf32>
%1350 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1349 : tensor<320x320xf32>) outs(%311 : tensor<320x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320xf32>
%1351 = tensor.collapse_shape %1342 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1352 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1353 = linalg.matmul ins(%1351, %1350 : tensor<8192x320xf32>, tensor<320x320xf32>) outs(%1352 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1354 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_96, %1353 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1355 = tensor.expand_shape %1354 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%1356 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1355, %1163 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1357 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%1358 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1356 : tensor<2x4096x320xf32>) outs(%1357 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1359 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1358 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1360 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1359 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%1361 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1356, %1360 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1362 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1361 : tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1363 = linalg.fill ins(%cst_894 : f32) outs(%258 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32>
%1364 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1362 : tensor<2x4096x320xf32>) outs(%1363 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1365 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1364 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_898 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1366 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1365 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x4096x1xf32>
%1367 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1366 : tensor<2x4096x1xf32>) outs(%258 : tensor<2x4096x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1xf32>
%1368 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1367 : tensor<2x4096x1xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x4096x320xf32>
%1369 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1361, %1368 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1370 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_97 : tensor<2560x20x1xf16>) outs(%690 : tensor<2560x20x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<2560x20x16xf16>
%1371 = tensor.collapse_shape %1370 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16>
%1372 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_98, %1371 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%693 : tensor<2560x320xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<2560x320xf16>
%1373 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1374 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1373 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1375 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1374 : tensor<f32>) outs(%697 : tensor<2560x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2560x320xf32>
%1376 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1372 : tensor<2560x320xf16>) outs(%1375 : tensor<2560x320xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<2560x320xf32>
%1377 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1376 : tensor<2560x320xf32>) outs(%700 : tensor<320x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x2560xf32>
%1378 = tensor.collapse_shape %1369 [[0, 1], [2]] : tensor<2x4096x320xf32> into tensor<8192x320xf32>
%1379 = linalg.fill ins(%cst_894 : f32) outs(%703 : tensor<8192x2560xf32>) -> tensor<8192x2560xf32>
%1380 = linalg.matmul ins(%1378, %1377 : tensor<8192x320xf32>, tensor<320x2560xf32>) outs(%1379 : tensor<8192x2560xf32>) -> tensor<8192x2560xf32>
%1381 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_99, %1380 : tensor<2560xf32>, tensor<8192x2560xf32>) outs(%703 : tensor<8192x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x2560xf32>
%1382 = tensor.expand_shape %1381 [[0, 1], [2]] : tensor<8192x2560xf32> into tensor<2x4096x2560xf32>
%1383 = tensor.extract_slice %1382[0, 0, 0] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf32> to tensor<2x4096x1280xf32>
%1384 = tensor.extract_slice %1382[0, 0, 1280] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf32> to tensor<2x4096x1280xf32>
%1385 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1384 : tensor<2x4096x1280xf32>) outs(%710 : tensor<2x4096x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_890 : f32
%12739 = math.erf %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.mulf %12740, %cst_891 : f32
%12742 = arith.mulf %arg3, %12741 : f32
linalg.yield %12742 : f32
} -> tensor<2x4096x1280xf32>
%1386 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1383, %1385 : tensor<2x4096x1280xf32>, tensor<2x4096x1280xf32>) outs(%710 : tensor<2x4096x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x1280xf32>
%1387 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_100 : tensor<320x80x1xf16>) outs(%713 : tensor<320x80x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x80x16xf16>
%1388 = tensor.collapse_shape %1387 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16>
%1389 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_101, %1388 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%716 : tensor<320x1280xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x1280xf16>
%1390 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1391 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1390 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1392 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1391 : tensor<f32>) outs(%26 : tensor<320x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x1280xf32>
%1393 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1389 : tensor<320x1280xf16>) outs(%1392 : tensor<320x1280xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x1280xf32>
%1394 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1393 : tensor<320x1280xf32>) outs(%120 : tensor<1280x320xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x320xf32>
%1395 = tensor.collapse_shape %1386 [[0, 1], [2]] : tensor<2x4096x1280xf32> into tensor<8192x1280xf32>
%1396 = linalg.fill ins(%cst_894 : f32) outs(%316 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1397 = linalg.matmul ins(%1395, %1394 : tensor<8192x1280xf32>, tensor<1280x320xf32>) outs(%1396 : tensor<8192x320xf32>) -> tensor<8192x320xf32>
%1398 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_102, %1397 : tensor<320xf32>, tensor<8192x320xf32>) outs(%316 : tensor<8192x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<8192x320xf32>
%1399 = tensor.expand_shape %1398 [[0, 1], [2]] : tensor<8192x320xf32> into tensor<2x4096x320xf32>
%1400 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1399, %1356 : tensor<2x4096x320xf32>, tensor<2x4096x320xf32>) outs(%262 : tensor<2x4096x320xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x4096x320xf32>
%1401 = tensor.expand_shape %1400 [[0], [1, 2], [3]] : tensor<2x4096x320xf32> into tensor<2x64x64x320xf32>
%1402 = linalg.generic {indexing_maps = [#map11, #map26], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1401 : tensor<2x64x64x320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%1403 = tensor.expand_shape %1402 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%1404 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1403 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%1405 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%1406 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%1407:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1404 : tensor<2x20x16x64x64xf32>) outs(%1406, %1405 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%1408 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1407#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%1409 = tensor.collapse_shape %1408 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%1410 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1411 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1410 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1412 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1411 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1413 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1412 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1414 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1409, %1413 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1415 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1402, %1414 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1416 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1415, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1417 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1418 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1417 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1419 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1418 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1420 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1421 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1420 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1422 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1421, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1423 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1416, %1422 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%1424 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1423, %1422, %1416 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1425 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1424, %1419 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%1426 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1425, %1419, %1424 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1427 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1426 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1428 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1427, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1429 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1428, %1414 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1430 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_103 : tensor<320x20x1x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%1431 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1430 : tensor<320x20x16x1x1xf16>) outs(%241 : tensor<320x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x1x1xf16>
%1432 = tensor.collapse_shape %1431 [[0], [1, 2], [3], [4]] : tensor<320x20x16x1x1xf16> into tensor<320x320x1x1xf16>
%1433 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_104, %1432 : tensor<320x320x1x1xi8>, tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x1x1xf16>
%1434 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1435 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1434 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1436 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1435 : tensor<f32>) outs(%249 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x1x1xf32>
%1437 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1433 : tensor<320x320x1x1xf16>) outs(%245 : tensor<320x320x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x320x1x1xf16>
%1438 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1437 : tensor<320x320x1x1xf16>) outs(%1436 : tensor<320x320x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x1x1xf32>
%1439 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_105 : tensor<320xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x64x64xf32>
%1440 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1429, %1438 : tensor<2x320x64x64xf32>, tensor<320x320x1x1xf32>) outs(%1439 : tensor<2x320x64x64xf32>) -> tensor<2x320x64x64xf32>
%1441 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1440, %907 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1442 = tensor.expand_shape %1441 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf32> into tensor<2x20x16x64x64xf32>
%1443 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1442 : tensor<2x20x16x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x64x64xf32>
%1444 = linalg.fill ins(%c0_i64 : i64) outs(%77 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64>
%1445 = linalg.fill ins(%cst_889 : f32) outs(%79 : tensor<2x20x1x64x64xf32>) -> tensor<2x20x1x64x64xf32>
%1446:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1443 : tensor<2x20x16x64x64xf32>) outs(%1445, %1444 : tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x64x64xf32>, tensor<2x20x1x64x64xi64>)
%1447 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1446#0 : tensor<2x20x1x64x64xf32>) outs(%75 : tensor<2x20x16x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x64x64xf32>
%1448 = tensor.collapse_shape %1447 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf32> into tensor<2x320x64x64xf32>
%1449 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1450 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1449 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1451 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1450 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1452 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1451 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1453 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1448, %1452 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1454 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1441, %1453 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1455 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1454, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1456 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1457 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1456 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1458 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1457 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1459 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1460 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1459 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1461 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1460, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1462 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1455, %1461 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%1463 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1462, %1461, %1455 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1464 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1463, %1458 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%97 : tensor<2x320x64x64xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x64x64xi1>
%1465 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1464, %1458, %1463 : tensor<2x320x64x64xi1>, tensor<f32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1466 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1465 : tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1467 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1466, %cst_880 : tensor<2x320x64x64xf32>, tensor<f32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1468 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1467, %1453 : tensor<2x320x64x64xf32>, tensor<2x320x64x64xf32>) outs(%40 : tensor<2x320x64x64xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x64x64xf32>
%1469 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_106 : tensor<320x20x1x3x3xf16>) outs(%105 : tensor<320x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<320x20x16x3x3xf16>
%1470 = tensor.collapse_shape %1469 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16>
%1471 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_107, %1470 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%108 : tensor<320x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<320x320x3x3xf16>
%1472 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1473 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1472 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1474 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1473 : tensor<f32>) outs(%112 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<320x320x3x3xf32>
%1475 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1471 : tensor<320x320x3x3xf16>) outs(%1474 : tensor<320x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<320x320x3x3xf32>
%1476 = tensor.pad %1468 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x64x64xf32> to tensor<2x320x66x66xf32>
%1477 = linalg.init_tensor [2, 320, 32, 32] : tensor<2x320x32x32xf32>
%1478 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_108 : tensor<320xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x320x32x32xf32>
%1479 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%1476, %1475 : tensor<2x320x66x66xf32>, tensor<320x320x3x3xf32>) outs(%1478 : tensor<2x320x32x32xf32>) -> tensor<2x320x32x32xf32>
%1480 = tensor.collapse_shape %1479 [[0], [1], [2, 3]] : tensor<2x320x32x32xf32> into tensor<2x320x1024xf32>
%1481 = tensor.expand_shape %1480 [[0], [1, 2], [3]] : tensor<2x320x1024xf32> into tensor<2x32x10x1024xf32>
%1482 = linalg.init_tensor [2, 32, 10, 1024] : tensor<2x32x10x1024xf64>
%1483 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1481 : tensor<2x32x10x1024xf32>) outs(%1482 : tensor<2x32x10x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x1024xf64>
%1484 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1485 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1483 : tensor<2x32x10x1024xf64>) outs(%1484 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1486 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1485 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_899 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1487 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1483, %1486 : tensor<2x32x10x1024xf64>, tensor<2x32x1x1xf64>) outs(%1482 : tensor<2x32x10x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x1024xf64>
%1488 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1487 : tensor<2x32x10x1024xf64>) outs(%1482 : tensor<2x32x10x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x10x1024xf64>
%1489 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1490 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1488 : tensor<2x32x10x1024xf64>) outs(%1489 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1491 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1490 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_899 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1492 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1491 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1493 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%1494 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1481 : tensor<2x32x10x1024xf32>) outs(%1493 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1495 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1494 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_900 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1496 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1492, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%1497 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1496 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1498 = linalg.init_tensor [2, 32, 10, 1024] : tensor<2x32x10x1024xf32>
%1499 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1481, %1495 : tensor<2x32x10x1024xf32>, tensor<2x32x1x1xf32>) outs(%1498 : tensor<2x32x10x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x1024xf32>
%1500 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1499, %1497 : tensor<2x32x10x1024xf32>, tensor<2x32x1x1xf32>) outs(%1498 : tensor<2x32x10x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x10x1024xf32>
%1501 = tensor.collapse_shape %1500 [[0], [1, 2], [3]] : tensor<2x32x10x1024xf32> into tensor<2x320x1024xf32>
%1502 = tensor.expand_shape %1501 [[0], [1], [2, 3]] : tensor<2x320x1024xf32> into tensor<2x320x32x32xf32>
%1503 = tensor.expand_shape %cst_109 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%1504 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1502, %1503 : tensor<2x320x32x32xf32>, tensor<320x1x1xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1505 = tensor.expand_shape %cst_110 [[0, 1, 2]] : tensor<320xf32> into tensor<320x1x1xf32>
%1506 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1504, %1505 : tensor<2x320x32x32xf32>, tensor<320x1x1xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1507 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1506 : tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x320x32x32xf32>
%1508 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1507, %1506 : tensor<2x320x32x32xf32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1509 = tensor.expand_shape %1508 [[0], [1, 2], [3], [4]] : tensor<2x320x32x32xf32> into tensor<2x20x16x32x32xf32>
%1510 = linalg.init_tensor [2, 20, 16, 32, 32] : tensor<2x20x16x32x32xf32>
%1511 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1509 : tensor<2x20x16x32x32xf32>) outs(%1510 : tensor<2x20x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x32x32xf32>
%1512 = linalg.init_tensor [2, 20, 1, 32, 32] : tensor<2x20x1x32x32xi64>
%1513 = linalg.fill ins(%c0_i64 : i64) outs(%1512 : tensor<2x20x1x32x32xi64>) -> tensor<2x20x1x32x32xi64>
%1514 = linalg.init_tensor [2, 20, 1, 32, 32] : tensor<2x20x1x32x32xf32>
%1515 = linalg.fill ins(%cst_889 : f32) outs(%1514 : tensor<2x20x1x32x32xf32>) -> tensor<2x20x1x32x32xf32>
%1516:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1511 : tensor<2x20x16x32x32xf32>) outs(%1515, %1513 : tensor<2x20x1x32x32xf32>, tensor<2x20x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x32x32xf32>, tensor<2x20x1x32x32xi64>)
%1517 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1516#0 : tensor<2x20x1x32x32xf32>) outs(%1510 : tensor<2x20x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x32x32xf32>
%1518 = tensor.collapse_shape %1517 [[0], [1, 2], [3], [4]] : tensor<2x20x16x32x32xf32> into tensor<2x320x32x32xf32>
%1519 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1520 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1519 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1521 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1520 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1522 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1521 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1523 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1518, %1522 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1524 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1508, %1523 : tensor<2x320x32x32xf32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1525 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1524, %cst_880 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1526 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1527 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1526 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1528 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1527 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1529 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1530 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1529 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1531 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1530, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1532 = linalg.init_tensor [2, 320, 32, 32] : tensor<2x320x32x32xi1>
%1533 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1525, %1531 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1532 : tensor<2x320x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x32x32xi1>
%1534 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1533, %1531, %1525 : tensor<2x320x32x32xi1>, tensor<f32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1535 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1534, %1528 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1532 : tensor<2x320x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x32x32xi1>
%1536 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1535, %1528, %1534 : tensor<2x320x32x32xi1>, tensor<f32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1537 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1536 : tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1538 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1537, %cst_880 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1539 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1538, %1523 : tensor<2x320x32x32xf32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1540 = linalg.init_tensor [640, 20, 16, 3, 3] : tensor<640x20x16x3x3xf16>
%1541 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_111 : tensor<640x20x1x3x3xf16>) outs(%1540 : tensor<640x20x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x20x16x3x3xf16>
%1542 = tensor.collapse_shape %1541 [[0], [1, 2], [3], [4]] : tensor<640x20x16x3x3xf16> into tensor<640x320x3x3xf16>
%1543 = linalg.init_tensor [640, 320, 3, 3] : tensor<640x320x3x3xf16>
%1544 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_112, %1542 : tensor<640x320x3x3xi8>, tensor<640x320x3x3xf16>) outs(%1543 : tensor<640x320x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x320x3x3xf16>
%1545 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1546 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1545 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1547 = linalg.init_tensor [640, 320, 3, 3] : tensor<640x320x3x3xf32>
%1548 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1546 : tensor<f32>) outs(%1547 : tensor<640x320x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x320x3x3xf32>
%1549 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1544 : tensor<640x320x3x3xf16>) outs(%1548 : tensor<640x320x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x320x3x3xf32>
%1550 = tensor.pad %1539 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x320x32x32xf32> to tensor<2x320x34x34xf32>
%1551 = linalg.init_tensor [2, 640, 32, 32] : tensor<2x640x32x32xf32>
%1552 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_113 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%1553 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1550, %1549 : tensor<2x320x34x34xf32>, tensor<640x320x3x3xf32>) outs(%1552 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%1554 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%38 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%1555 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1554, %38 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%1556 = linalg.init_tensor [1280, 640] : tensor<1280x640xf32>
%1557 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_114 : tensor<640x1280xf32>) outs(%1556 : tensor<1280x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x640xf32>
%1558 = linalg.init_tensor [2, 640] : tensor<2x640xf32>
%1559 = linalg.fill ins(%cst_894 : f32) outs(%1558 : tensor<2x640xf32>) -> tensor<2x640xf32>
%1560 = linalg.matmul ins(%1555, %1557 : tensor<2x1280xf32>, tensor<1280x640xf32>) outs(%1559 : tensor<2x640xf32>) -> tensor<2x640xf32>
%1561 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_115, %1560 : tensor<640xf32>, tensor<2x640xf32>) outs(%1558 : tensor<2x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640xf32>
%1562 = tensor.expand_shape %1561 [[0], [1, 2, 3]] : tensor<2x640xf32> into tensor<2x640x1x1xf32>
%1563 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1553, %1562 : tensor<2x640x32x32xf32>, tensor<2x640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1564 = tensor.collapse_shape %1563 [[0], [1], [2, 3]] : tensor<2x640x32x32xf32> into tensor<2x640x1024xf32>
%1565 = tensor.expand_shape %1564 [[0], [1, 2], [3]] : tensor<2x640x1024xf32> into tensor<2x32x20x1024xf32>
%1566 = linalg.init_tensor [2, 32, 20, 1024] : tensor<2x32x20x1024xf64>
%1567 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1565 : tensor<2x32x20x1024xf32>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1568 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1569 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1567 : tensor<2x32x20x1024xf64>) outs(%1568 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1570 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1569 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1571 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1567, %1570 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1572 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1571 : tensor<2x32x20x1024xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1573 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1574 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1572 : tensor<2x32x20x1024xf64>) outs(%1573 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1575 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1574 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1576 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1575 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1577 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%1578 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1565 : tensor<2x32x20x1024xf32>) outs(%1577 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1579 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1578 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_902 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1580 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1576, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%1581 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1580 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1582 = linalg.init_tensor [2, 32, 20, 1024] : tensor<2x32x20x1024xf32>
%1583 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1565, %1579 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%1584 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1583, %1581 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%1585 = tensor.collapse_shape %1584 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32>
%1586 = tensor.expand_shape %1585 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32>
%1587 = tensor.expand_shape %cst_116 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%1588 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1586, %1587 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1589 = tensor.expand_shape %cst_117 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%1590 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1588, %1589 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1591 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1590 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x640x32x32xf32>
%1592 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1591, %1590 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1593 = tensor.expand_shape %1592 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%1594 = linalg.init_tensor [2, 40, 16, 32, 32] : tensor<2x40x16x32x32xf32>
%1595 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1593 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%1596 = linalg.init_tensor [2, 40, 1, 32, 32] : tensor<2x40x1x32x32xi64>
%1597 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%1598 = linalg.init_tensor [2, 40, 1, 32, 32] : tensor<2x40x1x32x32xf32>
%1599 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%1600:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1595 : tensor<2x40x16x32x32xf32>) outs(%1599, %1597 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%1601 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1600#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%1602 = tensor.collapse_shape %1601 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%1603 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1604 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1603 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1605 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1604 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1606 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1605 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1607 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1602, %1606 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1608 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1592, %1607 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1609 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1608, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1610 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1611 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1610 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1612 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1611 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1613 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1614 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1613 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1615 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1614, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1616 = linalg.init_tensor [2, 640, 32, 32] : tensor<2x640x32x32xi1>
%1617 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1609, %1615 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%1618 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1617, %1615, %1609 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1619 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1618, %1612 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%1620 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1619, %1612, %1618 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1621 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1620 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1622 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1621, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1623 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1622, %1607 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1624 = linalg.init_tensor [640, 40, 16, 3, 3] : tensor<640x40x16x3x3xf16>
%1625 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_118 : tensor<640x40x1x3x3xf16>) outs(%1624 : tensor<640x40x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x3x3xf16>
%1626 = tensor.collapse_shape %1625 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16>
%1627 = linalg.init_tensor [640, 640, 3, 3] : tensor<640x640x3x3xf16>
%1628 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_119, %1626 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%1627 : tensor<640x640x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x3x3xf16>
%1629 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1630 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1629 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1631 = linalg.init_tensor [640, 640, 3, 3] : tensor<640x640x3x3xf32>
%1632 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1630 : tensor<f32>) outs(%1631 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x3x3xf32>
%1633 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1628 : tensor<640x640x3x3xf16>) outs(%1632 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x3x3xf32>
%1634 = tensor.pad %1623 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x640x32x32xf32> to tensor<2x640x34x34xf32>
%1635 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_120 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%1636 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1634, %1633 : tensor<2x640x34x34xf32>, tensor<640x640x3x3xf32>) outs(%1635 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%1637 = tensor.expand_shape %1479 [[0], [1, 2], [3], [4]] : tensor<2x320x32x32xf32> into tensor<2x20x16x32x32xf32>
%1638 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1637 : tensor<2x20x16x32x32xf32>) outs(%1510 : tensor<2x20x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x20x16x32x32xf32>
%1639 = linalg.fill ins(%c0_i64 : i64) outs(%1512 : tensor<2x20x1x32x32xi64>) -> tensor<2x20x1x32x32xi64>
%1640 = linalg.fill ins(%cst_889 : f32) outs(%1514 : tensor<2x20x1x32x32xf32>) -> tensor<2x20x1x32x32xf32>
%1641:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1638 : tensor<2x20x16x32x32xf32>) outs(%1640, %1639 : tensor<2x20x1x32x32xf32>, tensor<2x20x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x20x1x32x32xf32>, tensor<2x20x1x32x32xi64>)
%1642 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1641#0 : tensor<2x20x1x32x32xf32>) outs(%1510 : tensor<2x20x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x20x16x32x32xf32>
%1643 = tensor.collapse_shape %1642 [[0], [1, 2], [3], [4]] : tensor<2x20x16x32x32xf32> into tensor<2x320x32x32xf32>
%1644 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1645 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1644 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1646 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1645 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1647 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1646 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1648 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1643, %1647 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1649 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1479, %1648 : tensor<2x320x32x32xf32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1650 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1649, %cst_880 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1651 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1652 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1651 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1653 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1652 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1654 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1655 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1654 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1656 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1655, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1657 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1650, %1656 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1532 : tensor<2x320x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x32x32xi1>
%1658 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1657, %1656, %1650 : tensor<2x320x32x32xi1>, tensor<f32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1659 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1658, %1653 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1532 : tensor<2x320x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x320x32x32xi1>
%1660 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1659, %1653, %1658 : tensor<2x320x32x32xi1>, tensor<f32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1661 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1660 : tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1662 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1661, %cst_880 : tensor<2x320x32x32xf32>, tensor<f32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1663 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1662, %1648 : tensor<2x320x32x32xf32>, tensor<2x320x32x32xf32>) outs(%1477 : tensor<2x320x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x320x32x32xf32>
%1664 = linalg.init_tensor [640, 20, 16, 1, 1] : tensor<640x20x16x1x1xf16>
%1665 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_121 : tensor<640x20x1x1x1xf16>) outs(%1664 : tensor<640x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x20x16x1x1xf16>
%1666 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1665 : tensor<640x20x16x1x1xf16>) outs(%1664 : tensor<640x20x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x20x16x1x1xf16>
%1667 = tensor.collapse_shape %1666 [[0], [1, 2], [3], [4]] : tensor<640x20x16x1x1xf16> into tensor<640x320x1x1xf16>
%1668 = linalg.init_tensor [640, 320, 1, 1] : tensor<640x320x1x1xf16>
%1669 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_122, %1667 : tensor<640x320x1x1xi8>, tensor<640x320x1x1xf16>) outs(%1668 : tensor<640x320x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x320x1x1xf16>
%1670 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1671 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1670 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1672 = linalg.init_tensor [640, 320, 1, 1] : tensor<640x320x1x1xf32>
%1673 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1671 : tensor<f32>) outs(%1672 : tensor<640x320x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x320x1x1xf32>
%1674 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1669 : tensor<640x320x1x1xf16>) outs(%1668 : tensor<640x320x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x320x1x1xf16>
%1675 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1674 : tensor<640x320x1x1xf16>) outs(%1673 : tensor<640x320x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x320x1x1xf32>
%1676 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_123 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%1677 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1663, %1675 : tensor<2x320x32x32xf32>, tensor<640x320x1x1xf32>) outs(%1676 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%1678 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1677, %1636 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1679 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1678, %cst_3 : tensor<2x640x32x32xf32>, tensor<f64>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.divf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x640x32x32xf32>
%1680 = tensor.collapse_shape %1679 [[0], [1], [2, 3]] : tensor<2x640x32x32xf32> into tensor<2x640x1024xf32>
%1681 = tensor.expand_shape %1680 [[0], [1, 2], [3]] : tensor<2x640x1024xf32> into tensor<2x32x20x1024xf32>
%1682 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1681 : tensor<2x32x20x1024xf32>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1683 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1684 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1682 : tensor<2x32x20x1024xf64>) outs(%1683 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1685 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1684 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1686 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1682, %1685 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1687 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1686 : tensor<2x32x20x1024xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%1688 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%1689 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1687 : tensor<2x32x20x1024xf64>) outs(%1688 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1690 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1689 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%1691 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1690 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1692 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%1693 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1681 : tensor<2x32x20x1024xf32>) outs(%1692 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1694 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1693 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_902 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1695 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1691, %cst_2 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%1696 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1695 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%1697 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1681, %1694 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%1698 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1697, %1696 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%1699 = tensor.collapse_shape %1698 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32>
%1700 = tensor.expand_shape %1699 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32>
%1701 = tensor.expand_shape %1699 [[0], [1, 2], [3, 4]] : tensor<2x640x1024xf32> into tensor<2x40x16x32x32xf32>
%1702 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1701 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%1703 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%1704 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%1705:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1702 : tensor<2x40x16x32x32xf32>) outs(%1704, %1703 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%1706 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1705#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%1707 = tensor.collapse_shape %1706 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%1708 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1709 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1708 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1710 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1709 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1711 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1710 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1712 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1707, %1711 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1713 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1700, %1712 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1714 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1713, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1715 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1716 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1715 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1717 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1716 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1718 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1719 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1718 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1720 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1719, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1721 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1714, %1720 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%1722 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1721, %1720, %1714 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1723 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1722, %1717 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%1724 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1723, %1717, %1722 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1725 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1724 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1726 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1725, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1727 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1726, %1712 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%1728 = linalg.init_tensor [640, 40, 16, 1, 1] : tensor<640x40x16x1x1xf16>
%1729 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_124 : tensor<640x40x1x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%1730 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1729 : tensor<640x40x16x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%1731 = tensor.collapse_shape %1730 [[0], [1, 2], [3], [4]] : tensor<640x40x16x1x1xf16> into tensor<640x640x1x1xf16>
%1732 = linalg.init_tensor [640, 640, 1, 1] : tensor<640x640x1x1xf16>
%1733 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_125, %1731 : tensor<640x640x1x1xi8>, tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x1x1xf16>
%1734 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1735 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1734 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1736 = linalg.init_tensor [640, 640, 1, 1] : tensor<640x640x1x1xf32>
%1737 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1735 : tensor<f32>) outs(%1736 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x1x1xf32>
%1738 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1733 : tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x640x1x1xf16>
%1739 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1738 : tensor<640x640x1x1xf16>) outs(%1737 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x1x1xf32>
%1740 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_126 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%1741 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1727, %1739 : tensor<2x640x32x32xf32>, tensor<640x640x1x1xf32>) outs(%1740 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%1742 = linalg.init_tensor [2, 32, 32, 640] : tensor<2x32x32x640xf32>
%1743 = linalg.generic {indexing_maps = [#map11, #map19], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1741 : tensor<2x640x32x32xf32>) outs(%1742 : tensor<2x32x32x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x32x32x640xf32>
%1744 = tensor.collapse_shape %1743 [[0], [1, 2], [3]] : tensor<2x32x32x640xf32> into tensor<2x1024x640xf32>
%1745 = linalg.init_tensor [2, 1024, 1] : tensor<2x1024x1xf32>
%1746 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%1747 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1744 : tensor<2x1024x640xf32>) outs(%1746 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1748 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1747 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1749 = linalg.init_tensor [2, 1024, 640] : tensor<2x1024x640xf32>
%1750 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1748 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%1751 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1744, %1750 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1752 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1751 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1753 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%1754 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1752 : tensor<2x1024x640xf32>) outs(%1753 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1755 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1754 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1756 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1755 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%1757 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1756 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1758 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1757 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%1759 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1751, %1758 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1760 = tensor.expand_shape %1759 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%1761 = linalg.init_tensor [2, 1024, 40, 16] : tensor<2x1024x40x16xf32>
%1762 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1760 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%1763 = linalg.init_tensor [2, 1024, 40, 1] : tensor<2x1024x40x1xi64>
%1764 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%1765 = linalg.init_tensor [2, 1024, 40, 1] : tensor<2x1024x40x1xf32>
%1766 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%1767:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1762 : tensor<2x1024x40x16xf32>) outs(%1766, %1764 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%1768 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1767#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%1769 = tensor.collapse_shape %1768 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%1770 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1771 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1770 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1772 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1771 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1773 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1772 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1774 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1769, %1773 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1775 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1759, %1774 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1776 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1775, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1777 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1778 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1777 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1779 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1778 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1780 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1781 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1780 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1782 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1781, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1783 = linalg.init_tensor [2, 1024, 640] : tensor<2x1024x640xi1>
%1784 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1776, %1782 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1785 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1784, %1782, %1776 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1786 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1785, %1779 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1787 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1786, %1779, %1785 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1788 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1787 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1789 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1788, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1790 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1789, %1774 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1791 = linalg.init_tensor [640, 40, 16] : tensor<640x40x16xf16>
%1792 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_127 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%1793 = tensor.collapse_shape %1792 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%1794 = linalg.init_tensor [640, 640] : tensor<640x640xf16>
%1795 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_128, %1793 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%1796 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1797 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1796 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1798 = linalg.init_tensor [640, 640] : tensor<640x640xf32>
%1799 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1797 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1800 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1795 : tensor<640x640xf16>) outs(%1799 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%1801 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1800 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1802 = tensor.collapse_shape %1790 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%1803 = linalg.init_tensor [2048, 640] : tensor<2048x640xf32>
%1804 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1805 = linalg.matmul ins(%1802, %1801 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%1804 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1806 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_129, %1805 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%1807 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1760 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%1808 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%1809 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%1810:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1807 : tensor<2x1024x40x16xf32>) outs(%1809, %1808 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%1811 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1810#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%1812 = tensor.collapse_shape %1811 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%1813 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1814 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1813 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1815 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1814 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1816 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1815 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1817 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1812, %1816 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1818 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1759, %1817 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1819 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1818, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1820 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1821 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1820 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1822 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1821 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1823 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1824 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1823 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1825 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1824, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1826 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1819, %1825 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1827 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1826, %1825, %1819 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1828 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1827, %1822 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1829 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1828, %1822, %1827 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1830 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1829 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1831 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1830, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1832 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1831, %1817 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1833 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_130 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%1834 = tensor.collapse_shape %1833 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%1835 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_131, %1834 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%1836 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1837 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1836 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1838 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1837 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1839 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1835 : tensor<640x640xf16>) outs(%1838 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%1840 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1839 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1841 = tensor.collapse_shape %1832 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%1842 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1843 = linalg.matmul ins(%1841, %1840 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%1842 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1844 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_132, %1843 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%1845 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1760 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%1846 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%1847 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%1848:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1845 : tensor<2x1024x40x16xf32>) outs(%1847, %1846 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%1849 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1848#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%1850 = tensor.collapse_shape %1849 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%1851 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1852 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1851 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1853 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1852 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1854 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1853 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1855 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1850, %1854 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1856 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1759, %1855 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1857 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1856, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1858 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1859 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1858 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1860 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1859 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1861 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1862 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1861 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1863 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1862, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1864 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1857, %1863 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1865 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1864, %1863, %1857 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1866 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1865, %1860 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1867 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1866, %1860, %1865 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1868 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1867 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1869 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1868, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1870 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1869, %1855 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1871 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_133 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%1872 = tensor.collapse_shape %1871 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%1873 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_134, %1872 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%1874 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1875 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1874 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1876 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1875 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1877 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1873 : tensor<640x640xf16>) outs(%1876 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%1878 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1877 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1879 = tensor.collapse_shape %1870 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%1880 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1881 = linalg.matmul ins(%1879, %1878 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%1880 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1882 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_135, %1881 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%1883 = tensor.expand_shape %1806 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%1884 = linalg.init_tensor [2, 8, 1024, 80] : tensor<2x8x1024x80xf32>
%1885 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1883 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%1886 = tensor.collapse_shape %1885 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%1887 = tensor.expand_shape %1844 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%1888 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1887 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%1889 = tensor.collapse_shape %1888 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%1890 = tensor.expand_shape %1882 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%1891 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1890 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%1892 = tensor.collapse_shape %1891 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%1893 = linalg.init_tensor [16, 80, 1024] : tensor<16x80x1024xf32>
%1894 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1889 : tensor<16x1024x80xf32>) outs(%1893 : tensor<16x80x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x80x1024xf32>
%1895 = linalg.init_tensor [16, 1024, 1024] : tensor<16x1024x1024xf32>
%1896 = linalg.fill ins(%cst_894 : f32) outs(%1895 : tensor<16x1024x1024xf32>) -> tensor<16x1024x1024xf32>
%1897 = linalg.batch_matmul ins(%1886, %1894 : tensor<16x1024x80xf32>, tensor<16x80x1024xf32>) outs(%1896 : tensor<16x1024x1024xf32>) -> tensor<16x1024x1024xf32>
%1898 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1897, %cst_0 : tensor<16x1024x1024xf32>, tensor<f64>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x1024x1024xf32>
%1899 = linalg.init_tensor [16, 1024, 1] : tensor<16x1024x1xi64>
%1900 = linalg.fill ins(%c0_i64 : i64) outs(%1899 : tensor<16x1024x1xi64>) -> tensor<16x1024x1xi64>
%1901 = linalg.init_tensor [16, 1024, 1] : tensor<16x1024x1xf32>
%1902 = linalg.fill ins(%cst_889 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%1903:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1898 : tensor<16x1024x1024xf32>) outs(%1902, %1900 : tensor<16x1024x1xf32>, tensor<16x1024x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x1024x1xf32>, tensor<16x1024x1xi64>)
%1904 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1898, %1903#0 : tensor<16x1024x1024xf32>, tensor<16x1024x1xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%1905 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1904 : tensor<16x1024x1024xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%1906 = linalg.fill ins(%cst_894 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%1907 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1905 : tensor<16x1024x1024xf32>) outs(%1906 : tensor<16x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1xf32>
%1908 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1905, %1907 : tensor<16x1024x1024xf32>, tensor<16x1024x1xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%1909 = linalg.init_tensor [16, 1024, 80] : tensor<16x1024x80xf32>
%1910 = linalg.fill ins(%cst_894 : f32) outs(%1909 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%1911 = linalg.batch_matmul ins(%1908, %1892 : tensor<16x1024x1024xf32>, tensor<16x1024x80xf32>) outs(%1910 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%1912 = tensor.expand_shape %1911 [[0, 1], [2], [3]] : tensor<16x1024x80xf32> into tensor<2x8x1024x80xf32>
%1913 = linalg.init_tensor [2, 1024, 8, 80] : tensor<2x1024x8x80xf32>
%1914 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1912 : tensor<2x8x1024x80xf32>) outs(%1913 : tensor<2x1024x8x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x8x80xf32>
%1915 = tensor.collapse_shape %1914 [[0], [1], [2, 3]] : tensor<2x1024x8x80xf32> into tensor<2x1024x640xf32>
%1916 = tensor.expand_shape %1915 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%1917 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1916 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%1918 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%1919 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%1920:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1917 : tensor<2x1024x40x16xf32>) outs(%1919, %1918 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%1921 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1920#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%1922 = tensor.collapse_shape %1921 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%1923 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1924 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1923 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1925 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1924 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1926 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1925 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1927 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1922, %1926 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1928 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1915, %1927 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1929 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1928, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1930 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1931 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1930 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1932 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1931 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1933 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1934 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1933 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1935 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1934, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1936 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1929, %1935 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1937 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1936, %1935, %1929 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1938 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1937, %1932 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1939 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1938, %1932, %1937 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1940 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1939 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1941 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1940, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1942 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1941, %1927 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1943 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_136 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%1944 = tensor.collapse_shape %1943 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%1945 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_137, %1944 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%1946 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%1947 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1946 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1948 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%1947 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1949 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1945 : tensor<640x640xf16>) outs(%1948 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%1950 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%1949 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%1951 = tensor.collapse_shape %1942 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%1952 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1953 = linalg.matmul ins(%1951, %1950 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%1952 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%1954 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_138, %1953 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%1955 = tensor.expand_shape %1954 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%1956 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1955, %1744 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1957 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%1958 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1956 : tensor<2x1024x640xf32>) outs(%1957 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1959 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1958 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1960 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1959 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%1961 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1956, %1960 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1962 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1961 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1963 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%1964 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1962 : tensor<2x1024x640xf32>) outs(%1963 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1965 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1964 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1966 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1965 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%1967 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1966 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%1968 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1967 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%1969 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1961, %1968 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1970 = tensor.expand_shape %1969 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%1971 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1970 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%1972 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%1973 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%1974:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1971 : tensor<2x1024x40x16xf32>) outs(%1973, %1972 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%1975 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1974#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%1976 = tensor.collapse_shape %1975 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%1977 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1978 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1977 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1979 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1978 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1980 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1979 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1981 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1976, %1980 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1982 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1969, %1981 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1983 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1982, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1984 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1985 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1984 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1986 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%1985 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1987 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1988 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %1987 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%1989 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%1988, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%1990 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1983, %1989 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1991 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1990, %1989, %1983 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1992 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1991, %1986 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%1993 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1992, %1986, %1991 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1994 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1993 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1995 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1994, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1996 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1995, %1981 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%1997 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_139 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%1998 = tensor.collapse_shape %1997 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%1999 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_140, %1998 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2000 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2001 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2000 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2002 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2001 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2003 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%1999 : tensor<640x640xf16>) outs(%2002 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2004 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2003 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2005 = tensor.collapse_shape %1996 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2006 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2007 = linalg.matmul ins(%2005, %2004 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2006 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2008 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_141, %2007 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2009 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%2010 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%2011 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%2012:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2009 : tensor<2x77x48x16xf32>) outs(%2011, %2010 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%2013 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2012#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%2014 = tensor.collapse_shape %2013 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%2015 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2016 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2015 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2017 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2016 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2018 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2017 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2019 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2014, %2018 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2020 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %2019 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2021 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2020, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2022 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2023 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2022 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2024 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2023 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2025 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2026 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2025 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2027 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2026, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2028 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2021, %2027 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2029 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2028, %2027, %2021 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2030 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2029, %2024 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2031 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2030, %2024, %2029 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2032 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2031 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2033 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2032, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2034 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2033, %2019 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2035 = linalg.init_tensor [640, 48, 16] : tensor<640x48x16xf16>
%2036 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_142 : tensor<640x48x1xf16>) outs(%2035 : tensor<640x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x48x16xf16>
%2037 = tensor.collapse_shape %2036 [[0], [1, 2]] : tensor<640x48x16xf16> into tensor<640x768xf16>
%2038 = linalg.init_tensor [640, 768] : tensor<640x768xf16>
%2039 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_143, %2037 : tensor<640x768xi8>, tensor<640x768xf16>) outs(%2038 : tensor<640x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x768xf16>
%2040 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2041 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2040 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2042 = linalg.init_tensor [640, 768] : tensor<640x768xf32>
%2043 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2041 : tensor<f32>) outs(%2042 : tensor<640x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x768xf32>
%2044 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2039 : tensor<640x768xf16>) outs(%2043 : tensor<640x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x768xf32>
%2045 = linalg.init_tensor [768, 640] : tensor<768x640xf32>
%2046 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2044 : tensor<640x768xf32>) outs(%2045 : tensor<768x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x640xf32>
%2047 = tensor.collapse_shape %2034 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%2048 = linalg.init_tensor [154, 640] : tensor<154x640xf32>
%2049 = linalg.fill ins(%cst_894 : f32) outs(%2048 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2050 = linalg.matmul ins(%2047, %2046 : tensor<154x768xf32>, tensor<768x640xf32>) outs(%2049 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2051 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%2052 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%2053 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%2054:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2051 : tensor<2x77x48x16xf32>) outs(%2053, %2052 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%2055 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2054#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%2056 = tensor.collapse_shape %2055 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%2057 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2058 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2057 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2059 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2058 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2060 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2059 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2061 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2056, %2060 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2062 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %2061 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2063 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2062, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2064 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2065 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2064 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2066 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2065 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2067 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2068 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2067 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2069 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2068, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2070 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2063, %2069 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2071 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2070, %2069, %2063 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2072 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2071, %2066 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2073 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2072, %2066, %2071 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2074 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2073 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2075 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2074, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2076 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2075, %2061 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2077 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_144 : tensor<640x48x1xf16>) outs(%2035 : tensor<640x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x48x16xf16>
%2078 = tensor.collapse_shape %2077 [[0], [1, 2]] : tensor<640x48x16xf16> into tensor<640x768xf16>
%2079 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_145, %2078 : tensor<640x768xi8>, tensor<640x768xf16>) outs(%2038 : tensor<640x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x768xf16>
%2080 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2081 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2080 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2082 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2081 : tensor<f32>) outs(%2042 : tensor<640x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x768xf32>
%2083 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2079 : tensor<640x768xf16>) outs(%2082 : tensor<640x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x768xf32>
%2084 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2083 : tensor<640x768xf32>) outs(%2045 : tensor<768x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x640xf32>
%2085 = tensor.collapse_shape %2076 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%2086 = linalg.fill ins(%cst_894 : f32) outs(%2048 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2087 = linalg.matmul ins(%2085, %2084 : tensor<154x768xf32>, tensor<768x640xf32>) outs(%2086 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2088 = tensor.expand_shape %2008 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%2089 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2088 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%2090 = tensor.collapse_shape %2089 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%2091 = tensor.expand_shape %2050 [[0, 1], [2, 3]] : tensor<154x640xf32> into tensor<2x77x8x80xf32>
%2092 = linalg.init_tensor [2, 8, 77, 80] : tensor<2x8x77x80xf32>
%2093 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2091 : tensor<2x77x8x80xf32>) outs(%2092 : tensor<2x8x77x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x80xf32>
%2094 = tensor.collapse_shape %2093 [[0, 1], [2], [3]] : tensor<2x8x77x80xf32> into tensor<16x77x80xf32>
%2095 = tensor.expand_shape %2087 [[0, 1], [2, 3]] : tensor<154x640xf32> into tensor<2x77x8x80xf32>
%2096 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2095 : tensor<2x77x8x80xf32>) outs(%2092 : tensor<2x8x77x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x80xf32>
%2097 = tensor.collapse_shape %2096 [[0, 1], [2], [3]] : tensor<2x8x77x80xf32> into tensor<16x77x80xf32>
%2098 = linalg.init_tensor [16, 80, 77] : tensor<16x80x77xf32>
%2099 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2094 : tensor<16x77x80xf32>) outs(%2098 : tensor<16x80x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x80x77xf32>
%2100 = linalg.init_tensor [16, 1024, 77] : tensor<16x1024x77xf32>
%2101 = linalg.fill ins(%cst_894 : f32) outs(%2100 : tensor<16x1024x77xf32>) -> tensor<16x1024x77xf32>
%2102 = linalg.batch_matmul ins(%2090, %2099 : tensor<16x1024x80xf32>, tensor<16x80x77xf32>) outs(%2101 : tensor<16x1024x77xf32>) -> tensor<16x1024x77xf32>
%2103 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2102, %cst_0 : tensor<16x1024x77xf32>, tensor<f64>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x1024x77xf32>
%2104 = linalg.fill ins(%c0_i64 : i64) outs(%1899 : tensor<16x1024x1xi64>) -> tensor<16x1024x1xi64>
%2105 = linalg.fill ins(%cst_889 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2106:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2103 : tensor<16x1024x77xf32>) outs(%2105, %2104 : tensor<16x1024x1xf32>, tensor<16x1024x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x1024x1xf32>, tensor<16x1024x1xi64>)
%2107 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2103, %2106#0 : tensor<16x1024x77xf32>, tensor<16x1024x1xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2108 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2107 : tensor<16x1024x77xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2109 = linalg.fill ins(%cst_894 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2110 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2108 : tensor<16x1024x77xf32>) outs(%2109 : tensor<16x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1xf32>
%2111 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2108, %2110 : tensor<16x1024x77xf32>, tensor<16x1024x1xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2112 = linalg.fill ins(%cst_894 : f32) outs(%1909 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2113 = linalg.batch_matmul ins(%2111, %2097 : tensor<16x1024x77xf32>, tensor<16x77x80xf32>) outs(%2112 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2114 = tensor.expand_shape %2113 [[0, 1], [2], [3]] : tensor<16x1024x80xf32> into tensor<2x8x1024x80xf32>
%2115 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2114 : tensor<2x8x1024x80xf32>) outs(%1913 : tensor<2x1024x8x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x8x80xf32>
%2116 = tensor.collapse_shape %2115 [[0], [1], [2, 3]] : tensor<2x1024x8x80xf32> into tensor<2x1024x640xf32>
%2117 = tensor.expand_shape %2116 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%2118 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2117 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2119 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2120 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2121:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2118 : tensor<2x1024x40x16xf32>) outs(%2120, %2119 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2122 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2121#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2123 = tensor.collapse_shape %2122 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2124 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2125 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2124 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2126 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2125 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2127 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2126 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2128 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2123, %2127 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2129 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2116, %2128 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2130 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2129, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2131 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2132 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2131 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2133 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2132 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2134 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2135 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2134 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2136 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2135, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2137 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2130, %2136 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2138 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2137, %2136, %2130 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2139 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2138, %2133 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2140 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2139, %2133, %2138 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2141 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2140 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2142 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2141, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2143 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2142, %2128 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2144 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_146 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2145 = tensor.collapse_shape %2144 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2146 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_147, %2145 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2147 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2148 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2147 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2149 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2148 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2150 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2146 : tensor<640x640xf16>) outs(%2149 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2151 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2150 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2152 = tensor.collapse_shape %2143 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2153 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2154 = linalg.matmul ins(%2152, %2151 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2153 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2155 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_148, %2154 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2156 = tensor.expand_shape %2155 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%2157 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2156, %1956 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2158 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2159 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2157 : tensor<2x1024x640xf32>) outs(%2158 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2160 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2159 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2161 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2160 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2162 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2157, %2161 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2163 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2162 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2164 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2165 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2163 : tensor<2x1024x640xf32>) outs(%2164 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2166 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2165 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2167 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2166 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%2168 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2167 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2169 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2168 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2170 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2162, %2169 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2171 = linalg.init_tensor [5120, 40, 16] : tensor<5120x40x16xf16>
%2172 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_149 : tensor<5120x40x1xf16>) outs(%2171 : tensor<5120x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<5120x40x16xf16>
%2173 = tensor.collapse_shape %2172 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16>
%2174 = linalg.init_tensor [5120, 640] : tensor<5120x640xf16>
%2175 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_150, %2173 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%2174 : tensor<5120x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<5120x640xf16>
%2176 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2177 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2176 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2178 = linalg.init_tensor [5120, 640] : tensor<5120x640xf32>
%2179 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2177 : tensor<f32>) outs(%2178 : tensor<5120x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<5120x640xf32>
%2180 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2175 : tensor<5120x640xf16>) outs(%2179 : tensor<5120x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<5120x640xf32>
%2181 = linalg.init_tensor [640, 5120] : tensor<640x5120xf32>
%2182 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2180 : tensor<5120x640xf32>) outs(%2181 : tensor<640x5120xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x5120xf32>
%2183 = tensor.collapse_shape %2170 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2184 = linalg.init_tensor [2048, 5120] : tensor<2048x5120xf32>
%2185 = linalg.fill ins(%cst_894 : f32) outs(%2184 : tensor<2048x5120xf32>) -> tensor<2048x5120xf32>
%2186 = linalg.matmul ins(%2183, %2182 : tensor<2048x640xf32>, tensor<640x5120xf32>) outs(%2185 : tensor<2048x5120xf32>) -> tensor<2048x5120xf32>
%2187 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_151, %2186 : tensor<5120xf32>, tensor<2048x5120xf32>) outs(%2184 : tensor<2048x5120xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x5120xf32>
%2188 = tensor.expand_shape %2187 [[0, 1], [2]] : tensor<2048x5120xf32> into tensor<2x1024x5120xf32>
%2189 = tensor.extract_slice %2188[0, 0, 0] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf32> to tensor<2x1024x2560xf32>
%2190 = tensor.extract_slice %2188[0, 0, 2560] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf32> to tensor<2x1024x2560xf32>
%2191 = linalg.init_tensor [2, 1024, 2560] : tensor<2x1024x2560xf32>
%2192 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2190 : tensor<2x1024x2560xf32>) outs(%2191 : tensor<2x1024x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_890 : f32
%12739 = math.erf %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.mulf %12740, %cst_891 : f32
%12742 = arith.mulf %arg3, %12741 : f32
linalg.yield %12742 : f32
} -> tensor<2x1024x2560xf32>
%2193 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2189, %2192 : tensor<2x1024x2560xf32>, tensor<2x1024x2560xf32>) outs(%2191 : tensor<2x1024x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x2560xf32>
%2194 = linalg.init_tensor [640, 160, 16] : tensor<640x160x16xf16>
%2195 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_152 : tensor<640x160x1xf16>) outs(%2194 : tensor<640x160x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x160x16xf16>
%2196 = tensor.collapse_shape %2195 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16>
%2197 = linalg.init_tensor [640, 2560] : tensor<640x2560xf16>
%2198 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_153, %2196 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%2197 : tensor<640x2560xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x2560xf16>
%2199 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2200 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2199 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2201 = linalg.init_tensor [640, 2560] : tensor<640x2560xf32>
%2202 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2200 : tensor<f32>) outs(%2201 : tensor<640x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x2560xf32>
%2203 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2198 : tensor<640x2560xf16>) outs(%2202 : tensor<640x2560xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x2560xf32>
%2204 = linalg.init_tensor [2560, 640] : tensor<2560x640xf32>
%2205 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2203 : tensor<640x2560xf32>) outs(%2204 : tensor<2560x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2560x640xf32>
%2206 = tensor.collapse_shape %2193 [[0, 1], [2]] : tensor<2x1024x2560xf32> into tensor<2048x2560xf32>
%2207 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2208 = linalg.matmul ins(%2206, %2205 : tensor<2048x2560xf32>, tensor<2560x640xf32>) outs(%2207 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2209 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_154, %2208 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2210 = tensor.expand_shape %2209 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%2211 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2210, %2157 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2212 = tensor.expand_shape %2211 [[0], [1, 2], [3]] : tensor<2x1024x640xf32> into tensor<2x32x32x640xf32>
%2213 = linalg.generic {indexing_maps = [#map11, #map26], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2212 : tensor<2x32x32x640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2214 = tensor.expand_shape %2213 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%2215 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2214 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2216 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2217 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2218:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2215 : tensor<2x40x16x32x32xf32>) outs(%2217, %2216 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2219 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2218#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2220 = tensor.collapse_shape %2219 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2221 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2222 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2221 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2223 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2222 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2224 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2223 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2225 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2220, %2224 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2226 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2213, %2225 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2227 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2226, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2228 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2229 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2228 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2230 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2229 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2231 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2232 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2231 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2233 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2232, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2234 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2227, %2233 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2235 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2234, %2233, %2227 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2236 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2235, %2230 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2237 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2236, %2230, %2235 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2238 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2237 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2239 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2238, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2240 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2239, %2225 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2241 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_155 : tensor<640x40x1x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2242 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2241 : tensor<640x40x16x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2243 = tensor.collapse_shape %2242 [[0], [1, 2], [3], [4]] : tensor<640x40x16x1x1xf16> into tensor<640x640x1x1xf16>
%2244 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_156, %2243 : tensor<640x640x1x1xi8>, tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x1x1xf16>
%2245 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2246 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2245 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2247 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2246 : tensor<f32>) outs(%1736 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x1x1xf32>
%2248 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2244 : tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x640x1x1xf16>
%2249 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2248 : tensor<640x640x1x1xf16>) outs(%2247 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x1x1xf32>
%2250 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_157 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2251 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2240, %2249 : tensor<2x640x32x32xf32>, tensor<640x640x1x1xf32>) outs(%2250 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%2252 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2251, %1679 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2253 = tensor.collapse_shape %2252 [[0], [1], [2, 3]] : tensor<2x640x32x32xf32> into tensor<2x640x1024xf32>
%2254 = tensor.expand_shape %2253 [[0], [1, 2], [3]] : tensor<2x640x1024xf32> into tensor<2x32x20x1024xf32>
%2255 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2254 : tensor<2x32x20x1024xf32>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2256 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2257 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2255 : tensor<2x32x20x1024xf64>) outs(%2256 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2258 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2257 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2259 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2255, %2258 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2260 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2259 : tensor<2x32x20x1024xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2261 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2262 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2260 : tensor<2x32x20x1024xf64>) outs(%2261 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2263 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2262 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2264 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2263 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2265 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%2266 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2254 : tensor<2x32x20x1024xf32>) outs(%2265 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2267 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2266 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_902 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2268 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2264, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%2269 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2268 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2270 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2254, %2267 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2271 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2270, %2269 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2272 = tensor.collapse_shape %2271 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32>
%2273 = tensor.expand_shape %2272 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32>
%2274 = tensor.expand_shape %cst_158 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2275 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2273, %2274 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2276 = tensor.expand_shape %cst_159 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2277 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2275, %2276 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2278 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2277 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x640x32x32xf32>
%2279 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2278, %2277 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2280 = tensor.expand_shape %2279 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%2281 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2280 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2282 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2283 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2284:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2281 : tensor<2x40x16x32x32xf32>) outs(%2283, %2282 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2285 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2284#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2286 = tensor.collapse_shape %2285 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2287 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2288 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2287 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2289 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2288 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2290 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2289 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2291 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2286, %2290 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2292 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2279, %2291 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2293 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2292, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2294 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2295 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2294 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2296 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2295 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2297 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2298 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2297 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2299 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2298, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2300 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2293, %2299 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2301 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2300, %2299, %2293 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2302 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2301, %2296 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2303 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2302, %2296, %2301 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2304 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2303 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2305 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2304, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2306 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2305, %2291 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2307 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_160 : tensor<640x40x1x3x3xf16>) outs(%1624 : tensor<640x40x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x3x3xf16>
%2308 = tensor.collapse_shape %2307 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16>
%2309 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_161, %2308 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%1627 : tensor<640x640x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x3x3xf16>
%2310 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2311 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2310 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2312 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2311 : tensor<f32>) outs(%1631 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x3x3xf32>
%2313 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2309 : tensor<640x640x3x3xf16>) outs(%2312 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x3x3xf32>
%2314 = tensor.pad %2306 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x640x32x32xf32> to tensor<2x640x34x34xf32>
%2315 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_162 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2316 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2314, %2313 : tensor<2x640x34x34xf32>, tensor<640x640x3x3xf32>) outs(%2315 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%2317 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%38 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%2318 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2317, %38 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%2319 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_163 : tensor<640x1280xf32>) outs(%1556 : tensor<1280x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x640xf32>
%2320 = linalg.fill ins(%cst_894 : f32) outs(%1558 : tensor<2x640xf32>) -> tensor<2x640xf32>
%2321 = linalg.matmul ins(%2318, %2319 : tensor<2x1280xf32>, tensor<1280x640xf32>) outs(%2320 : tensor<2x640xf32>) -> tensor<2x640xf32>
%2322 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_164, %2321 : tensor<640xf32>, tensor<2x640xf32>) outs(%1558 : tensor<2x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640xf32>
%2323 = tensor.expand_shape %2322 [[0], [1, 2, 3]] : tensor<2x640xf32> into tensor<2x640x1x1xf32>
%2324 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2316, %2323 : tensor<2x640x32x32xf32>, tensor<2x640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2325 = tensor.collapse_shape %2324 [[0], [1], [2, 3]] : tensor<2x640x32x32xf32> into tensor<2x640x1024xf32>
%2326 = tensor.expand_shape %2325 [[0], [1, 2], [3]] : tensor<2x640x1024xf32> into tensor<2x32x20x1024xf32>
%2327 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2326 : tensor<2x32x20x1024xf32>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2328 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2329 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2327 : tensor<2x32x20x1024xf64>) outs(%2328 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2330 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2329 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2331 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2327, %2330 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2332 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2331 : tensor<2x32x20x1024xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2333 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2334 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2332 : tensor<2x32x20x1024xf64>) outs(%2333 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2335 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2334 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2336 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2335 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2337 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%2338 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2326 : tensor<2x32x20x1024xf32>) outs(%2337 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2339 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2338 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_902 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2340 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2336, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%2341 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2340 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2342 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2326, %2339 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2343 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2342, %2341 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2344 = tensor.collapse_shape %2343 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32>
%2345 = tensor.expand_shape %2344 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32>
%2346 = tensor.expand_shape %cst_165 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2347 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2345, %2346 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2348 = tensor.expand_shape %cst_166 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2349 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2347, %2348 : tensor<2x640x32x32xf32>, tensor<640x1x1xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2350 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2349 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x640x32x32xf32>
%2351 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2350, %2349 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2352 = tensor.expand_shape %2351 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%2353 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2352 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2354 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2355 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2356:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2353 : tensor<2x40x16x32x32xf32>) outs(%2355, %2354 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2357 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2356#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2358 = tensor.collapse_shape %2357 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2359 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2360 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2359 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2361 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2360 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2362 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2361 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2363 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2358, %2362 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2364 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2351, %2363 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2365 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2364, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2366 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2367 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2366 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2368 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2367 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2369 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2370 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2369 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2371 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2370, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2372 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2365, %2371 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2373 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2372, %2371, %2365 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2374 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2373, %2368 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2375 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2374, %2368, %2373 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2376 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2375 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2377 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2376, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2378 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2377, %2363 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2379 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_167 : tensor<640x40x1x3x3xf16>) outs(%1624 : tensor<640x40x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x3x3xf16>
%2380 = tensor.collapse_shape %2379 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16>
%2381 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_168, %2380 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%1627 : tensor<640x640x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x3x3xf16>
%2382 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2383 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2382 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2384 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2383 : tensor<f32>) outs(%1631 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x3x3xf32>
%2385 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2381 : tensor<640x640x3x3xf16>) outs(%2384 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x3x3xf32>
%2386 = tensor.pad %2378 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x640x32x32xf32> to tensor<2x640x34x34xf32>
%2387 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_169 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2388 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2386, %2385 : tensor<2x640x34x34xf32>, tensor<640x640x3x3xf32>) outs(%2387 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%2389 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2252, %2388 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2390 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2389, %cst_3 : tensor<2x640x32x32xf32>, tensor<f64>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.divf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x640x32x32xf32>
%2391 = tensor.collapse_shape %2390 [[0], [1], [2, 3]] : tensor<2x640x32x32xf32> into tensor<2x640x1024xf32>
%2392 = tensor.expand_shape %2391 [[0], [1, 2], [3]] : tensor<2x640x1024xf32> into tensor<2x32x20x1024xf32>
%2393 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2392 : tensor<2x32x20x1024xf32>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2394 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2395 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2393 : tensor<2x32x20x1024xf64>) outs(%2394 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2396 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2395 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2397 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2393, %2396 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2398 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2397 : tensor<2x32x20x1024xf64>) outs(%1566 : tensor<2x32x20x1024xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x1024xf64>
%2399 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2400 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2398 : tensor<2x32x20x1024xf64>) outs(%2399 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2401 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2400 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_901 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2402 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2401 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2403 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%2404 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2392 : tensor<2x32x20x1024xf32>) outs(%2403 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2405 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2404 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_902 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2406 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2402, %cst_2 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%2407 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2406 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2408 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2392, %2405 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2409 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2408, %2407 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%1582 : tensor<2x32x20x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x1024xf32>
%2410 = tensor.collapse_shape %2409 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32>
%2411 = tensor.expand_shape %2410 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32>
%2412 = tensor.expand_shape %2410 [[0], [1, 2], [3, 4]] : tensor<2x640x1024xf32> into tensor<2x40x16x32x32xf32>
%2413 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2412 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2414 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2415 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2416:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2413 : tensor<2x40x16x32x32xf32>) outs(%2415, %2414 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2417 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2416#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2418 = tensor.collapse_shape %2417 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2419 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2420 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2419 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2421 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2420 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2422 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2421 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2423 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2418, %2422 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2424 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2411, %2423 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2425 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2424, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2426 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2427 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2426 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2428 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2427 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2429 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2430 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2429 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2431 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2430, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2432 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2425, %2431 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2433 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2432, %2431, %2425 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2434 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2433, %2428 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2435 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2434, %2428, %2433 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2436 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2435 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2437 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2436, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2438 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2437, %2423 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2439 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_170 : tensor<640x40x1x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2440 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2439 : tensor<640x40x16x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2441 = tensor.collapse_shape %2440 [[0], [1, 2], [3], [4]] : tensor<640x40x16x1x1xf16> into tensor<640x640x1x1xf16>
%2442 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_171, %2441 : tensor<640x640x1x1xi8>, tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x1x1xf16>
%2443 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2444 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2443 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2445 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2444 : tensor<f32>) outs(%1736 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x1x1xf32>
%2446 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2442 : tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x640x1x1xf16>
%2447 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2446 : tensor<640x640x1x1xf16>) outs(%2445 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x1x1xf32>
%2448 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_172 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2449 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2438, %2447 : tensor<2x640x32x32xf32>, tensor<640x640x1x1xf32>) outs(%2448 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%2450 = linalg.generic {indexing_maps = [#map11, #map19], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2449 : tensor<2x640x32x32xf32>) outs(%1742 : tensor<2x32x32x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x32x32x640xf32>
%2451 = tensor.collapse_shape %2450 [[0], [1, 2], [3]] : tensor<2x32x32x640xf32> into tensor<2x1024x640xf32>
%2452 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2453 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2451 : tensor<2x1024x640xf32>) outs(%2452 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2454 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2453 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2455 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2454 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2456 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2451, %2455 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2457 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2456 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2458 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2459 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2457 : tensor<2x1024x640xf32>) outs(%2458 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2460 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2459 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2461 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2460 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%2462 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2461 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2463 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2462 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2464 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2456, %2463 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2465 = tensor.expand_shape %2464 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%2466 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2465 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2467 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2468 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2469:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2466 : tensor<2x1024x40x16xf32>) outs(%2468, %2467 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2470 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2469#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2471 = tensor.collapse_shape %2470 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2472 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2473 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2472 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2474 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2473 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2475 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2474 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2476 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2471, %2475 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2477 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2464, %2476 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2478 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2477, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2479 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2480 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2479 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2481 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2480 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2482 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2483 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2482 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2484 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2483, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2485 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2478, %2484 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2486 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2485, %2484, %2478 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2487 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2486, %2481 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2488 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2487, %2481, %2486 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2489 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2488 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2490 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2489, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2491 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2490, %2476 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2492 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_173 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2493 = tensor.collapse_shape %2492 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2494 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_174, %2493 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2495 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2496 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2495 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2497 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2496 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2498 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2494 : tensor<640x640xf16>) outs(%2497 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2499 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2498 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2500 = tensor.collapse_shape %2491 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2501 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2502 = linalg.matmul ins(%2500, %2499 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2501 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2503 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_175, %2502 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2504 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2465 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2505 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2506 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2507:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2504 : tensor<2x1024x40x16xf32>) outs(%2506, %2505 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2508 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2507#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2509 = tensor.collapse_shape %2508 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2510 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2511 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2510 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2512 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2511 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2513 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2512 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2514 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2509, %2513 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2515 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2464, %2514 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2516 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2515, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2517 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2518 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2517 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2519 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2518 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2520 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2521 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2520 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2522 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2521, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2523 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2516, %2522 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2524 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2523, %2522, %2516 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2525 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2524, %2519 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2526 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2525, %2519, %2524 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2527 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2526 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2528 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2527, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2529 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2528, %2514 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2530 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_176 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2531 = tensor.collapse_shape %2530 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2532 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_177, %2531 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2533 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2534 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2533 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2535 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2534 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2536 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2532 : tensor<640x640xf16>) outs(%2535 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2537 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2536 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2538 = tensor.collapse_shape %2529 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2539 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2540 = linalg.matmul ins(%2538, %2537 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2539 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2541 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_178, %2540 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2542 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2465 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2543 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2544 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2545:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2542 : tensor<2x1024x40x16xf32>) outs(%2544, %2543 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2546 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2545#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2547 = tensor.collapse_shape %2546 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2548 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2549 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2548 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2550 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2549 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2551 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2550 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2552 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2547, %2551 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2553 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2464, %2552 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2554 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2553, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2555 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2556 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2555 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2557 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2556 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2558 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2559 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2558 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2560 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2559, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2561 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2554, %2560 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2562 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2561, %2560, %2554 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2563 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2562, %2557 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2564 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2563, %2557, %2562 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2565 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2564 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2566 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2565, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2567 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2566, %2552 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2568 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_179 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2569 = tensor.collapse_shape %2568 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2570 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_180, %2569 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2571 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2572 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2571 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2573 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2572 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2574 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2570 : tensor<640x640xf16>) outs(%2573 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2575 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2574 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2576 = tensor.collapse_shape %2567 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2577 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2578 = linalg.matmul ins(%2576, %2575 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2577 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2579 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_181, %2578 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2580 = tensor.expand_shape %2503 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%2581 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2580 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%2582 = tensor.collapse_shape %2581 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%2583 = tensor.expand_shape %2541 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%2584 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2583 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%2585 = tensor.collapse_shape %2584 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%2586 = tensor.expand_shape %2579 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%2587 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2586 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%2588 = tensor.collapse_shape %2587 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%2589 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2585 : tensor<16x1024x80xf32>) outs(%1893 : tensor<16x80x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x80x1024xf32>
%2590 = linalg.fill ins(%cst_894 : f32) outs(%1895 : tensor<16x1024x1024xf32>) -> tensor<16x1024x1024xf32>
%2591 = linalg.batch_matmul ins(%2582, %2589 : tensor<16x1024x80xf32>, tensor<16x80x1024xf32>) outs(%2590 : tensor<16x1024x1024xf32>) -> tensor<16x1024x1024xf32>
%2592 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2591, %cst_0 : tensor<16x1024x1024xf32>, tensor<f64>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x1024x1024xf32>
%2593 = linalg.fill ins(%c0_i64 : i64) outs(%1899 : tensor<16x1024x1xi64>) -> tensor<16x1024x1xi64>
%2594 = linalg.fill ins(%cst_889 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2595:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2592 : tensor<16x1024x1024xf32>) outs(%2594, %2593 : tensor<16x1024x1xf32>, tensor<16x1024x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x1024x1xf32>, tensor<16x1024x1xi64>)
%2596 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2592, %2595#0 : tensor<16x1024x1024xf32>, tensor<16x1024x1xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%2597 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2596 : tensor<16x1024x1024xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%2598 = linalg.fill ins(%cst_894 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2599 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2597 : tensor<16x1024x1024xf32>) outs(%2598 : tensor<16x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1xf32>
%2600 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2597, %2599 : tensor<16x1024x1024xf32>, tensor<16x1024x1xf32>) outs(%1895 : tensor<16x1024x1024xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1024xf32>
%2601 = linalg.fill ins(%cst_894 : f32) outs(%1909 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2602 = linalg.batch_matmul ins(%2600, %2588 : tensor<16x1024x1024xf32>, tensor<16x1024x80xf32>) outs(%2601 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2603 = tensor.expand_shape %2602 [[0, 1], [2], [3]] : tensor<16x1024x80xf32> into tensor<2x8x1024x80xf32>
%2604 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2603 : tensor<2x8x1024x80xf32>) outs(%1913 : tensor<2x1024x8x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x8x80xf32>
%2605 = tensor.collapse_shape %2604 [[0], [1], [2, 3]] : tensor<2x1024x8x80xf32> into tensor<2x1024x640xf32>
%2606 = tensor.expand_shape %2605 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%2607 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2606 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2608 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2609 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2610:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2607 : tensor<2x1024x40x16xf32>) outs(%2609, %2608 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2611 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2610#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2612 = tensor.collapse_shape %2611 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2613 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2614 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2613 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2615 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2614 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2616 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2615 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2617 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2612, %2616 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2618 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2605, %2617 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2619 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2618, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2620 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2621 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2620 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2622 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2621 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2623 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2624 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2623 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2625 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2624, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2626 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2619, %2625 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2627 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2626, %2625, %2619 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2628 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2627, %2622 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2629 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2628, %2622, %2627 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2630 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2629 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2631 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2630, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2632 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2631, %2617 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2633 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_182 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2634 = tensor.collapse_shape %2633 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2635 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_183, %2634 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2636 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2637 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2636 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2638 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2637 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2639 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2635 : tensor<640x640xf16>) outs(%2638 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2640 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2639 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2641 = tensor.collapse_shape %2632 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2642 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2643 = linalg.matmul ins(%2641, %2640 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2642 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2644 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_184, %2643 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2645 = tensor.expand_shape %2644 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%2646 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2645, %2451 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2647 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2648 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2646 : tensor<2x1024x640xf32>) outs(%2647 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2649 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2648 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2650 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2649 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2651 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2646, %2650 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2652 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2651 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2653 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2654 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2652 : tensor<2x1024x640xf32>) outs(%2653 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2655 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2654 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2656 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2655 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%2657 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2656 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2658 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2657 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2659 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2651, %2658 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2660 = tensor.expand_shape %2659 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%2661 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2660 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2662 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2663 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2664:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2661 : tensor<2x1024x40x16xf32>) outs(%2663, %2662 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2665 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2664#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2666 = tensor.collapse_shape %2665 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2667 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2668 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2667 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2669 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2668 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2670 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2669 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2671 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2666, %2670 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2672 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2659, %2671 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2673 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2672, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2674 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2675 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2674 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2676 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2675 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2677 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2678 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2677 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2679 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2678, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2680 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2673, %2679 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2681 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2680, %2679, %2673 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2682 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2681, %2676 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2683 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2682, %2676, %2681 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2684 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2683 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2685 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2684, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2686 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2685, %2671 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2687 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_185 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2688 = tensor.collapse_shape %2687 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2689 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_186, %2688 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2690 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2691 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2690 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2692 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2691 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2693 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2689 : tensor<640x640xf16>) outs(%2692 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2694 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2693 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2695 = tensor.collapse_shape %2686 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2696 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2697 = linalg.matmul ins(%2695, %2694 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2696 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2698 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_187, %2697 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2699 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%2700 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%2701 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%2702:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2699 : tensor<2x77x48x16xf32>) outs(%2701, %2700 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%2703 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2702#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%2704 = tensor.collapse_shape %2703 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%2705 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2706 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2705 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2707 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2706 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2708 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2707 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2709 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2704, %2708 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2710 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %2709 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2711 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2710, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2712 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2713 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2712 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2714 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2713 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2715 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2716 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2715 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2717 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2716, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2718 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2711, %2717 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2719 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2718, %2717, %2711 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2720 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2719, %2714 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2721 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2720, %2714, %2719 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2722 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2721 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2723 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2722, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2724 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2723, %2709 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2725 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_188 : tensor<640x48x1xf16>) outs(%2035 : tensor<640x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x48x16xf16>
%2726 = tensor.collapse_shape %2725 [[0], [1, 2]] : tensor<640x48x16xf16> into tensor<640x768xf16>
%2727 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_189, %2726 : tensor<640x768xi8>, tensor<640x768xf16>) outs(%2038 : tensor<640x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x768xf16>
%2728 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2729 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2728 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2730 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2729 : tensor<f32>) outs(%2042 : tensor<640x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x768xf32>
%2731 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2727 : tensor<640x768xf16>) outs(%2730 : tensor<640x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x768xf32>
%2732 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2731 : tensor<640x768xf32>) outs(%2045 : tensor<768x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x640xf32>
%2733 = tensor.collapse_shape %2724 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%2734 = linalg.fill ins(%cst_894 : f32) outs(%2048 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2735 = linalg.matmul ins(%2733, %2732 : tensor<154x768xf32>, tensor<768x640xf32>) outs(%2734 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2736 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x77x48x16xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x48x16xf32>
%2737 = linalg.fill ins(%c0_i64 : i64) outs(%525 : tensor<2x77x48x1xi64>) -> tensor<2x77x48x1xi64>
%2738 = linalg.fill ins(%cst_889 : f32) outs(%527 : tensor<2x77x48x1xf32>) -> tensor<2x77x48x1xf32>
%2739:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2736 : tensor<2x77x48x16xf32>) outs(%2738, %2737 : tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x77x48x1xf32>, tensor<2x77x48x1xi64>)
%2740 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2739#0 : tensor<2x77x48x1xf32>) outs(%523 : tensor<2x77x48x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x77x48x16xf32>
%2741 = tensor.collapse_shape %2740 [[0], [1], [2, 3]] : tensor<2x77x48x16xf32> into tensor<2x77x768xf32>
%2742 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2743 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2742 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2744 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2743 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2745 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2744 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2746 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2741, %2745 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2747 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %2746 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2748 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2747, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2749 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2750 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2749 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2751 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2750 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2752 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2753 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2752 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2754 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2753, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2755 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2748, %2754 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2756 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2755, %2754, %2748 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2757 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2756, %2751 : tensor<2x77x768xf32>, tensor<f32>) outs(%546 : tensor<2x77x768xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x77x768xi1>
%2758 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2757, %2751, %2756 : tensor<2x77x768xi1>, tensor<f32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2759 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2758 : tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2760 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2759, %cst_880 : tensor<2x77x768xf32>, tensor<f32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2761 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2760, %2746 : tensor<2x77x768xf32>, tensor<2x77x768xf32>) outs(%536 : tensor<2x77x768xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x77x768xf32>
%2762 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_190 : tensor<640x48x1xf16>) outs(%2035 : tensor<640x48x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x48x16xf16>
%2763 = tensor.collapse_shape %2762 [[0], [1, 2]] : tensor<640x48x16xf16> into tensor<640x768xf16>
%2764 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_191, %2763 : tensor<640x768xi8>, tensor<640x768xf16>) outs(%2038 : tensor<640x768xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x768xf16>
%2765 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2766 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2765 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2767 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2766 : tensor<f32>) outs(%2042 : tensor<640x768xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x768xf32>
%2768 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2764 : tensor<640x768xf16>) outs(%2767 : tensor<640x768xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x768xf32>
%2769 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2768 : tensor<640x768xf32>) outs(%2045 : tensor<768x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<768x640xf32>
%2770 = tensor.collapse_shape %2761 [[0, 1], [2]] : tensor<2x77x768xf32> into tensor<154x768xf32>
%2771 = linalg.fill ins(%cst_894 : f32) outs(%2048 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2772 = linalg.matmul ins(%2770, %2769 : tensor<154x768xf32>, tensor<768x640xf32>) outs(%2771 : tensor<154x640xf32>) -> tensor<154x640xf32>
%2773 = tensor.expand_shape %2698 [[0, 1], [2, 3]] : tensor<2048x640xf32> into tensor<2x1024x8x80xf32>
%2774 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2773 : tensor<2x1024x8x80xf32>) outs(%1884 : tensor<2x8x1024x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x1024x80xf32>
%2775 = tensor.collapse_shape %2774 [[0, 1], [2], [3]] : tensor<2x8x1024x80xf32> into tensor<16x1024x80xf32>
%2776 = tensor.expand_shape %2735 [[0, 1], [2, 3]] : tensor<154x640xf32> into tensor<2x77x8x80xf32>
%2777 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2776 : tensor<2x77x8x80xf32>) outs(%2092 : tensor<2x8x77x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x80xf32>
%2778 = tensor.collapse_shape %2777 [[0, 1], [2], [3]] : tensor<2x8x77x80xf32> into tensor<16x77x80xf32>
%2779 = tensor.expand_shape %2772 [[0, 1], [2, 3]] : tensor<154x640xf32> into tensor<2x77x8x80xf32>
%2780 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2779 : tensor<2x77x8x80xf32>) outs(%2092 : tensor<2x8x77x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x8x77x80xf32>
%2781 = tensor.collapse_shape %2780 [[0, 1], [2], [3]] : tensor<2x8x77x80xf32> into tensor<16x77x80xf32>
%2782 = linalg.generic {indexing_maps = [#map20, #map25], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2778 : tensor<16x77x80xf32>) outs(%2098 : tensor<16x80x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<16x80x77xf32>
%2783 = linalg.fill ins(%cst_894 : f32) outs(%2100 : tensor<16x1024x77xf32>) -> tensor<16x1024x77xf32>
%2784 = linalg.batch_matmul ins(%2775, %2782 : tensor<16x1024x80xf32>, tensor<16x80x77xf32>) outs(%2783 : tensor<16x1024x77xf32>) -> tensor<16x1024x77xf32>
%2785 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2784, %cst_0 : tensor<16x1024x77xf32>, tensor<f64>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.mulf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<16x1024x77xf32>
%2786 = linalg.fill ins(%c0_i64 : i64) outs(%1899 : tensor<16x1024x1xi64>) -> tensor<16x1024x1xi64>
%2787 = linalg.fill ins(%cst_889 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2788:2 = linalg.generic {indexing_maps = [#map20, #map21, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2785 : tensor<16x1024x77xf32>) outs(%2787, %2786 : tensor<16x1024x1xf32>, tensor<16x1024x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<16x1024x1xf32>, tensor<16x1024x1xi64>)
%2789 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2785, %2788#0 : tensor<16x1024x77xf32>, tensor<16x1024x1xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2790 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2789 : tensor<16x1024x77xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.exp %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2791 = linalg.fill ins(%cst_894 : f32) outs(%1901 : tensor<16x1024x1xf32>) -> tensor<16x1024x1xf32>
%2792 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2790 : tensor<16x1024x77xf32>) outs(%2791 : tensor<16x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x1xf32>
%2793 = linalg.generic {indexing_maps = [#map20, #map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2790, %2792 : tensor<16x1024x77xf32>, tensor<16x1024x1xf32>) outs(%2100 : tensor<16x1024x77xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<16x1024x77xf32>
%2794 = linalg.fill ins(%cst_894 : f32) outs(%1909 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2795 = linalg.batch_matmul ins(%2793, %2781 : tensor<16x1024x77xf32>, tensor<16x77x80xf32>) outs(%2794 : tensor<16x1024x80xf32>) -> tensor<16x1024x80xf32>
%2796 = tensor.expand_shape %2795 [[0, 1], [2], [3]] : tensor<16x1024x80xf32> into tensor<2x8x1024x80xf32>
%2797 = linalg.generic {indexing_maps = [#map11, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2796 : tensor<2x8x1024x80xf32>) outs(%1913 : tensor<2x1024x8x80xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x8x80xf32>
%2798 = tensor.collapse_shape %2797 [[0], [1], [2, 3]] : tensor<2x1024x8x80xf32> into tensor<2x1024x640xf32>
%2799 = tensor.expand_shape %2798 [[0], [1], [2, 3]] : tensor<2x1024x640xf32> into tensor<2x1024x40x16xf32>
%2800 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2799 : tensor<2x1024x40x16xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x40x16xf32>
%2801 = linalg.fill ins(%c0_i64 : i64) outs(%1763 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64>
%2802 = linalg.fill ins(%cst_889 : f32) outs(%1765 : tensor<2x1024x40x1xf32>) -> tensor<2x1024x40x1xf32>
%2803:2 = linalg.generic {indexing_maps = [#map11, #map22, #map22], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2800 : tensor<2x1024x40x16xf32>) outs(%2802, %2801 : tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 3 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x1024x40x1xf32>, tensor<2x1024x40x1xi64>)
%2804 = linalg.generic {indexing_maps = [#map22, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2803#0 : tensor<2x1024x40x1xf32>) outs(%1761 : tensor<2x1024x40x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x40x16xf32>
%2805 = tensor.collapse_shape %2804 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf32> into tensor<2x1024x640xf32>
%2806 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2807 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2806 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2808 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2807 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2809 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2808 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2810 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2805, %2809 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2811 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2798, %2810 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2812 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2811, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2813 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2814 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2813 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2815 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2814 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2816 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2817 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2816 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2818 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2817, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2819 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2812, %2818 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2820 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2819, %2818, %2812 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2821 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2820, %2815 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1783 : tensor<2x1024x640xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x1024x640xi1>
%2822 = linalg.generic {indexing_maps = [#map20, #map23, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2821, %2815, %2820 : tensor<2x1024x640xi1>, tensor<f32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2823 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2822 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2824 = linalg.generic {indexing_maps = [#map20, #map23, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2823, %cst_880 : tensor<2x1024x640xf32>, tensor<f32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2825 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2824, %2810 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2826 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_192 : tensor<640x40x1xf16>) outs(%1791 : tensor<640x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16xf16>
%2827 = tensor.collapse_shape %2826 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16>
%2828 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_193, %2827 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%1794 : tensor<640x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640xf16>
%2829 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2830 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2829 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2831 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2830 : tensor<f32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2832 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2828 : tensor<640x640xf16>) outs(%2831 : tensor<640x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640xf32>
%2833 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2832 : tensor<640x640xf32>) outs(%1798 : tensor<640x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640xf32>
%2834 = tensor.collapse_shape %2825 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2835 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2836 = linalg.matmul ins(%2834, %2833 : tensor<2048x640xf32>, tensor<640x640xf32>) outs(%2835 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2837 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_194, %2836 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2838 = tensor.expand_shape %2837 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%2839 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2838, %2646 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2840 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2841 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2839 : tensor<2x1024x640xf32>) outs(%2840 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2842 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2841 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2843 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2842 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2844 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2839, %2843 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2845 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2844 : tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.mulf %arg3, %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2846 = linalg.fill ins(%cst_894 : f32) outs(%1745 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32>
%2847 = linalg.generic {indexing_maps = [#map20, #map21], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2845 : tensor<2x1024x640xf32>) outs(%2846 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2848 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2847 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_903 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2849 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2848 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.truncf %cst_892 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x1024x1xf32>
%2850 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2849 : tensor<2x1024x1xf32>) outs(%1745 : tensor<2x1024x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x1xf32>
%2851 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2850 : tensor<2x1024x1xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1024x640xf32>
%2852 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2844, %2851 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2853 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_195 : tensor<5120x40x1xf16>) outs(%2171 : tensor<5120x40x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<5120x40x16xf16>
%2854 = tensor.collapse_shape %2853 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16>
%2855 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_196, %2854 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%2174 : tensor<5120x640xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<5120x640xf16>
%2856 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2857 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2856 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2858 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2857 : tensor<f32>) outs(%2178 : tensor<5120x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<5120x640xf32>
%2859 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2855 : tensor<5120x640xf16>) outs(%2858 : tensor<5120x640xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<5120x640xf32>
%2860 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2859 : tensor<5120x640xf32>) outs(%2181 : tensor<640x5120xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x5120xf32>
%2861 = tensor.collapse_shape %2852 [[0, 1], [2]] : tensor<2x1024x640xf32> into tensor<2048x640xf32>
%2862 = linalg.fill ins(%cst_894 : f32) outs(%2184 : tensor<2048x5120xf32>) -> tensor<2048x5120xf32>
%2863 = linalg.matmul ins(%2861, %2860 : tensor<2048x640xf32>, tensor<640x5120xf32>) outs(%2862 : tensor<2048x5120xf32>) -> tensor<2048x5120xf32>
%2864 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_197, %2863 : tensor<5120xf32>, tensor<2048x5120xf32>) outs(%2184 : tensor<2048x5120xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x5120xf32>
%2865 = tensor.expand_shape %2864 [[0, 1], [2]] : tensor<2048x5120xf32> into tensor<2x1024x5120xf32>
%2866 = tensor.extract_slice %2865[0, 0, 0] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf32> to tensor<2x1024x2560xf32>
%2867 = tensor.extract_slice %2865[0, 0, 2560] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf32> to tensor<2x1024x2560xf32>
%2868 = linalg.generic {indexing_maps = [#map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2867 : tensor<2x1024x2560xf32>) outs(%2191 : tensor<2x1024x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_890 : f32
%12739 = math.erf %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.mulf %12740, %cst_891 : f32
%12742 = arith.mulf %arg3, %12741 : f32
linalg.yield %12742 : f32
} -> tensor<2x1024x2560xf32>
%2869 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2866, %2868 : tensor<2x1024x2560xf32>, tensor<2x1024x2560xf32>) outs(%2191 : tensor<2x1024x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x2560xf32>
%2870 = linalg.generic {indexing_maps = [#map21, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_198 : tensor<640x160x1xf16>) outs(%2194 : tensor<640x160x16xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x160x16xf16>
%2871 = tensor.collapse_shape %2870 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16>
%2872 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_199, %2871 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%2197 : tensor<640x2560xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x2560xf16>
%2873 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2874 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2873 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2875 = linalg.generic {indexing_maps = [#map7, #map6], iterator_types = ["parallel", "parallel"]} ins(%2874 : tensor<f32>) outs(%2201 : tensor<640x2560xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x2560xf32>
%2876 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%2872 : tensor<640x2560xf16>) outs(%2875 : tensor<640x2560xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x2560xf32>
%2877 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%2876 : tensor<640x2560xf32>) outs(%2204 : tensor<2560x640xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2560x640xf32>
%2878 = tensor.collapse_shape %2869 [[0, 1], [2]] : tensor<2x1024x2560xf32> into tensor<2048x2560xf32>
%2879 = linalg.fill ins(%cst_894 : f32) outs(%1803 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2880 = linalg.matmul ins(%2878, %2877 : tensor<2048x2560xf32>, tensor<2560x640xf32>) outs(%2879 : tensor<2048x640xf32>) -> tensor<2048x640xf32>
%2881 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_200, %2880 : tensor<640xf32>, tensor<2048x640xf32>) outs(%1803 : tensor<2048x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2048x640xf32>
%2882 = tensor.expand_shape %2881 [[0, 1], [2]] : tensor<2048x640xf32> into tensor<2x1024x640xf32>
%2883 = linalg.generic {indexing_maps = [#map20, #map20, #map20], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2882, %2839 : tensor<2x1024x640xf32>, tensor<2x1024x640xf32>) outs(%1749 : tensor<2x1024x640xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1024x640xf32>
%2884 = tensor.expand_shape %2883 [[0], [1, 2], [3]] : tensor<2x1024x640xf32> into tensor<2x32x32x640xf32>
%2885 = linalg.generic {indexing_maps = [#map11, #map26], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2884 : tensor<2x32x32x640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2886 = tensor.expand_shape %2885 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%2887 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2886 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2888 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2889 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2890:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2887 : tensor<2x40x16x32x32xf32>) outs(%2889, %2888 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2891 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2890#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2892 = tensor.collapse_shape %2891 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2893 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2894 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2893 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2895 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2894 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2896 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2895 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2897 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2892, %2896 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2898 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2885, %2897 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2899 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2898, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2900 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2901 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2900 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2902 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2901 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2903 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2904 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2903 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2905 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2904, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2906 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2899, %2905 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2907 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2906, %2905, %2899 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2908 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2907, %2902 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2909 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2908, %2902, %2907 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2910 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2909 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2911 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2910, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2912 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2911, %2897 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2913 = linalg.generic {indexing_maps = [#map17, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_201 : tensor<640x40x1x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2914 = linalg.generic {indexing_maps = [#map18, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2913 : tensor<640x40x16x1x1xf16>) outs(%1728 : tensor<640x40x16x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x1x1xf16>
%2915 = tensor.collapse_shape %2914 [[0], [1, 2], [3], [4]] : tensor<640x40x16x1x1xf16> into tensor<640x640x1x1xf16>
%2916 = linalg.generic {indexing_maps = [#map12, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_202, %2915 : tensor<640x640x1x1xi8>, tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x1x1xf16>
%2917 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2918 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2917 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2919 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2918 : tensor<f32>) outs(%1736 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x1x1xf32>
%2920 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2916 : tensor<640x640x1x1xf16>) outs(%1732 : tensor<640x640x1x1xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x640x1x1xf16>
%2921 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2920 : tensor<640x640x1x1xf16>) outs(%2919 : tensor<640x640x1x1xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x1x1xf32>
%2922 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_203 : tensor<640xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x32x32xf32>
%2923 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2912, %2921 : tensor<2x640x32x32xf32>, tensor<640x640x1x1xf32>) outs(%2922 : tensor<2x640x32x32xf32>) -> tensor<2x640x32x32xf32>
%2924 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2923, %2390 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2925 = tensor.expand_shape %2924 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf32> into tensor<2x40x16x32x32xf32>
%2926 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2925 : tensor<2x40x16x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x32x32xf32>
%2927 = linalg.fill ins(%c0_i64 : i64) outs(%1596 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64>
%2928 = linalg.fill ins(%cst_889 : f32) outs(%1598 : tensor<2x40x1x32x32xf32>) -> tensor<2x40x1x32x32xf32>
%2929:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2926 : tensor<2x40x16x32x32xf32>) outs(%2928, %2927 : tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x32x32xf32>, tensor<2x40x1x32x32xi64>)
%2930 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2929#0 : tensor<2x40x1x32x32xf32>) outs(%1594 : tensor<2x40x16x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x32x32xf32>
%2931 = tensor.collapse_shape %2930 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf32> into tensor<2x640x32x32xf32>
%2932 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2933 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2932 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2934 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2933 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2935 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2934 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2936 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2931, %2935 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2937 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2924, %2936 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2938 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2937, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2939 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2940 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2939 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2941 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2940 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2942 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2943 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %2942 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2944 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%2943, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%2945 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2938, %2944 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2946 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2945, %2944, %2938 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2947 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2946, %2941 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1616 : tensor<2x640x32x32xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x32x32xi1>
%2948 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2947, %2941, %2946 : tensor<2x640x32x32xi1>, tensor<f32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2949 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2948 : tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2950 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2949, %cst_880 : tensor<2x640x32x32xf32>, tensor<f32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2951 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2950, %2936 : tensor<2x640x32x32xf32>, tensor<2x640x32x32xf32>) outs(%1551 : tensor<2x640x32x32xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x32x32xf32>
%2952 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_204 : tensor<640x40x1x3x3xf16>) outs(%1624 : tensor<640x40x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<640x40x16x3x3xf16>
%2953 = tensor.collapse_shape %2952 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16>
%2954 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_205, %2953 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%1627 : tensor<640x640x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<640x640x3x3xf16>
%2955 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%2956 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%2955 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%2957 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2956 : tensor<f32>) outs(%1631 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<640x640x3x3xf32>
%2958 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2954 : tensor<640x640x3x3xf16>) outs(%2957 : tensor<640x640x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<640x640x3x3xf32>
%2959 = tensor.pad %2951 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x640x32x32xf32> to tensor<2x640x34x34xf32>
%2960 = linalg.init_tensor [2, 640, 16, 16] : tensor<2x640x16x16xf32>
%2961 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_206 : tensor<640xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x640x16x16xf32>
%2962 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%2959, %2958 : tensor<2x640x34x34xf32>, tensor<640x640x3x3xf32>) outs(%2961 : tensor<2x640x16x16xf32>) -> tensor<2x640x16x16xf32>
%2963 = tensor.collapse_shape %2962 [[0], [1], [2, 3]] : tensor<2x640x16x16xf32> into tensor<2x640x256xf32>
%2964 = tensor.expand_shape %2963 [[0], [1, 2], [3]] : tensor<2x640x256xf32> into tensor<2x32x20x256xf32>
%2965 = linalg.init_tensor [2, 32, 20, 256] : tensor<2x32x20x256xf64>
%2966 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2964 : tensor<2x32x20x256xf32>) outs(%2965 : tensor<2x32x20x256xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x256xf64>
%2967 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2968 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2966 : tensor<2x32x20x256xf64>) outs(%2967 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2969 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2968 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_904 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2970 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2966, %2969 : tensor<2x32x20x256xf64>, tensor<2x32x1x1xf64>) outs(%2965 : tensor<2x32x20x256xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x256xf64>
%2971 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2970 : tensor<2x32x20x256xf64>) outs(%2965 : tensor<2x32x20x256xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x20x256xf64>
%2972 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%2973 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2971 : tensor<2x32x20x256xf64>) outs(%2972 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2974 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2973 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_904 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%2975 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2974 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2976 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%2977 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2964 : tensor<2x32x20x256xf32>) outs(%2976 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2978 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2977 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.divf %arg3, %cst_905 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2979 = linalg.generic {indexing_maps = [#map12, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2975, %cst_4 : tensor<2x32x1x1xf32>, tensor<f64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f64, %arg5: f32):
%12738 = arith.truncf %arg4 : f64 to f32
%12739 = arith.addf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<2x32x1x1xf32>
%2980 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2979 : tensor<2x32x1x1xf32>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.rsqrt %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%2981 = linalg.init_tensor [2, 32, 20, 256] : tensor<2x32x20x256xf32>
%2982 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2964, %2978 : tensor<2x32x20x256xf32>, tensor<2x32x1x1xf32>) outs(%2981 : tensor<2x32x20x256xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x256xf32>
%2983 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2982, %2980 : tensor<2x32x20x256xf32>, tensor<2x32x1x1xf32>) outs(%2981 : tensor<2x32x20x256xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x20x256xf32>
%2984 = tensor.collapse_shape %2983 [[0], [1, 2], [3]] : tensor<2x32x20x256xf32> into tensor<2x640x256xf32>
%2985 = tensor.expand_shape %2984 [[0], [1], [2, 3]] : tensor<2x640x256xf32> into tensor<2x640x16x16xf32>
%2986 = tensor.expand_shape %cst_207 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2987 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2985, %2986 : tensor<2x640x16x16xf32>, tensor<640x1x1xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%2988 = tensor.expand_shape %cst_208 [[0, 1, 2]] : tensor<640xf32> into tensor<640x1x1xf32>
%2989 = linalg.generic {indexing_maps = [#map11, #map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2987, %2988 : tensor<2x640x16x16xf32>, tensor<640x1x1xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%2990 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2989 : tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x640x16x16xf32>
%2991 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2990, %2989 : tensor<2x640x16x16xf32>, tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%2992 = tensor.expand_shape %2991 [[0], [1, 2], [3], [4]] : tensor<2x640x16x16xf32> into tensor<2x40x16x16x16xf32>
%2993 = linalg.init_tensor [2, 40, 16, 16, 16] : tensor<2x40x16x16x16xf32>
%2994 = linalg.generic {indexing_maps = [#map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2992 : tensor<2x40x16x16x16xf32>) outs(%2993 : tensor<2x40x16x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.absf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x40x16x16x16xf32>
%2995 = linalg.init_tensor [2, 40, 1, 16, 16] : tensor<2x40x1x16x16xi64>
%2996 = linalg.fill ins(%c0_i64 : i64) outs(%2995 : tensor<2x40x1x16x16xi64>) -> tensor<2x40x1x16x16xi64>
%2997 = linalg.init_tensor [2, 40, 1, 16, 16] : tensor<2x40x1x16x16xf32>
%2998 = linalg.fill ins(%cst_889 : f32) outs(%2997 : tensor<2x40x1x16x16xf32>) -> tensor<2x40x1x16x16xf32>
%2999:2 = linalg.generic {indexing_maps = [#map15, #map16, #map16], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2994 : tensor<2x40x16x16x16xf32>) outs(%2998, %2996 : tensor<2x40x1x16x16xf32>, tensor<2x40x1x16x16xi64>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i64):
%12738 = linalg.index 2 : index
%12739 = arith.index_cast %12738 : index to i64
%12740 = arith.maxf %arg3, %arg4 : f32
%12741 = arith.cmpf ogt, %arg3, %arg4 : f32
%12742 = arith.select %12741, %12739, %arg5 : i64
linalg.yield %12740, %12742 : f32, i64
} -> (tensor<2x40x1x16x16xf32>, tensor<2x40x1x16x16xi64>)
%3000 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2999#0 : tensor<2x40x1x16x16xf32>) outs(%2993 : tensor<2x40x16x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x40x16x16x16xf32>
%3001 = tensor.collapse_shape %3000 [[0], [1, 2], [3], [4]] : tensor<2x40x16x16x16xf32> into tensor<2x640x16x16xf32>
%3002 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%3003 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %3002 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3004 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%3003 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3005 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%3004 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3006 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3001, %3005 : tensor<2x640x16x16xf32>, tensor<f32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3007 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2991, %3006 : tensor<2x640x16x16xf32>, tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.divf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3008 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3007, %cst_880 : tensor<2x640x16x16xf32>, tensor<f32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3009 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%3010 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %3009 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3011 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%3010 : tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3012 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_879, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%3013 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%cst_881, %3012 : tensor<f32>, tensor<f32>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = math.powf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3014 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = []} ins(%3013, %cst_5 : tensor<f32>, tensor<i64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f32, %arg4: i64, %arg5: f32):
%12738 = arith.sitofp %arg4 : i64 to f32
%12739 = arith.subf %arg3, %12738 : f32
linalg.yield %12739 : f32
} -> tensor<f32>
%3015 = linalg.init_tensor [2, 640, 16, 16] : tensor<2x640x16x16xi1>
%3016 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3008, %3014 : tensor<2x640x16x16xf32>, tensor<f32>) outs(%3015 : tensor<2x640x16x16xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ugt, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x16x16xi1>
%3017 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3016, %3014, %3008 : tensor<2x640x16x16xi1>, tensor<f32>, tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3018 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3017, %3011 : tensor<2x640x16x16xf32>, tensor<f32>) outs(%3015 : tensor<2x640x16x16xi1>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: i1):
%12738 = arith.cmpf ult, %arg3, %arg4 : f32
linalg.yield %12738 : i1
} -> tensor<2x640x16x16xi1>
%3019 = linalg.generic {indexing_maps = [#map11, #map13, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3018, %3011, %3017 : tensor<2x640x16x16xi1>, tensor<f32>, tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: i1, %arg4: f32, %arg5: f32, %arg6: f32):
%12738 = arith.select %arg3, %arg4, %arg5 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3020 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3019 : tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = math.round %arg3 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3021 = linalg.generic {indexing_maps = [#map11, #map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3020, %cst_880 : tensor<2x640x16x16xf32>, tensor<f32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.subf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3022 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3021, %3006 : tensor<2x640x16x16xf32>, tensor<2x640x16x16xf32>) outs(%2960 : tensor<2x640x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x640x16x16xf32>
%3023 = linalg.init_tensor [1280, 40, 16, 3, 3] : tensor<1280x40x16x3x3xf16>
%3024 = linalg.generic {indexing_maps = [#map16, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_209 : tensor<1280x40x1x3x3xf16>) outs(%3023 : tensor<1280x40x16x3x3xf16>) {
^bb0(%arg3: f16, %arg4: f16):
linalg.yield %arg3 : f16
} -> tensor<1280x40x16x3x3xf16>
%3025 = tensor.collapse_shape %3024 [[0], [1, 2], [3], [4]] : tensor<1280x40x16x3x3xf16> into tensor<1280x640x3x3xf16>
%3026 = linalg.init_tensor [1280, 640, 3, 3] : tensor<1280x640x3x3xf16>
%3027 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_210, %3025 : tensor<1280x640x3x3xi8>, tensor<1280x640x3x3xf16>) outs(%3026 : tensor<1280x640x3x3xf16>) {
^bb0(%arg3: i8, %arg4: f16, %arg5: f16):
%12738 = arith.sitofp %arg3 : i8 to f16
%12739 = arith.mulf %12738, %arg4 : f16
linalg.yield %12739 : f16
} -> tensor<1280x640x3x3xf16>
%3028 = linalg.fill ins(%cst_893 : f64) outs(%0 : tensor<f64>) -> tensor<f64>
%3029 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = []} ins(%3028 : tensor<f64>) outs(%2 : tensor<f32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<f32>
%3030 = linalg.init_tensor [1280, 640, 3, 3] : tensor<1280x640x3x3xf32>
%3031 = linalg.generic {indexing_maps = [#map13, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3029 : tensor<f32>) outs(%3030 : tensor<1280x640x3x3xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x640x3x3xf32>
%3032 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3027 : tensor<1280x640x3x3xf16>) outs(%3031 : tensor<1280x640x3x3xf32>) {
^bb0(%arg3: f16, %arg4: f32):
%12738 = arith.extf %arg3 : f16 to f32
linalg.yield %12738 : f32
} -> tensor<1280x640x3x3xf32>
%3033 = tensor.pad %3022 low[0, 0, 1, 1] high[0, 0, 1, 1] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst_894 : f32
} : tensor<2x640x16x16xf32> to tensor<2x640x18x18xf32>
%3034 = linalg.init_tensor [2, 1280, 16, 16] : tensor<2x1280x16x16xf32>
%3035 = linalg.generic {indexing_maps = [#map10, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_211 : tensor<1280xf32>) outs(%3034 : tensor<2x1280x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<2x1280x16x16xf32>
%3036 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3033, %3032 : tensor<2x640x18x18xf32>, tensor<1280x640x3x3xf32>) outs(%3035 : tensor<2x1280x16x16xf32>) -> tensor<2x1280x16x16xf32>
%3037 = linalg.generic {indexing_maps = [#map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%38 : tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.negf %arg3 : f32
%12739 = math.exp %12738 : f32
%12740 = arith.addf %12739, %cst_895 : f32
%12741 = arith.divf %cst_895, %12740 : f32
linalg.yield %12741 : f32
} -> tensor<2x1280xf32>
%3038 = linalg.generic {indexing_maps = [#map6, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%3037, %38 : tensor<2x1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.mulf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%3039 = linalg.generic {indexing_maps = [#map6, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_212 : tensor<1280x1280xf32>) outs(%34 : tensor<1280x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32):
linalg.yield %arg3 : f32
} -> tensor<1280x1280xf32>
%3040 = linalg.fill ins(%cst_894 : f32) outs(%28 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%3041 = linalg.matmul ins(%3038, %3039 : tensor<2x1280xf32>, tensor<1280x1280xf32>) outs(%3040 : tensor<2x1280xf32>) -> tensor<2x1280xf32>
%3042 = linalg.generic {indexing_maps = [#map9, #map6, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_213, %3041 : tensor<1280xf32>, tensor<2x1280xf32>) outs(%28 : tensor<2x1280xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280xf32>
%3043 = tensor.expand_shape %3042 [[0], [1, 2, 3]] : tensor<2x1280xf32> into tensor<2x1280x1x1xf32>
%3044 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3036, %3043 : tensor<2x1280x16x16xf32>, tensor<2x1280x1x1xf32>) outs(%3034 : tensor<2x1280x16x16xf32>) {
^bb0(%arg3: f32, %arg4: f32, %arg5: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x1280x16x16xf32>
%3045 = tensor.collapse_shape %3044 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf32> into tensor<2x1280x256xf32>
%3046 = tensor.expand_shape %3045 [[0], [1, 2], [3]] : tensor<2x1280x256xf32> into tensor<2x32x40x256xf32>
%3047 = linalg.init_tensor [2, 32, 40, 256] : tensor<2x32x40x256xf64>
%3048 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3046 : tensor<2x32x40x256xf32>) outs(%3047 : tensor<2x32x40x256xf64>) {
^bb0(%arg3: f32, %arg4: f64):
%12738 = arith.extf %arg3 : f32 to f64
linalg.yield %12738 : f64
} -> tensor<2x32x40x256xf64>
%3049 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%3050 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3048 : tensor<2x32x40x256xf64>) outs(%3049 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%3051 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3050 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_899 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%3052 = linalg.generic {indexing_maps = [#map11, #map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3048, %3051 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%3047 : tensor<2x32x40x256xf64>) {
^bb0(%arg3: f64, %arg4: f64, %arg5: f64):
%12738 = arith.subf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x40x256xf64>
%3053 = linalg.generic {indexing_maps = [#map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3052 : tensor<2x32x40x256xf64>) outs(%3047 : tensor<2x32x40x256xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.mulf %arg3, %arg3 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x40x256xf64>
%3054 = linalg.fill ins(%cst_893 : f64) outs(%47 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64>
%3055 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3053 : tensor<2x32x40x256xf64>) outs(%3054 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.addf %arg3, %arg4 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%3056 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3055 : tensor<2x32x1x1xf64>) outs(%47 : tensor<2x32x1x1xf64>) {
^bb0(%arg3: f64, %arg4: f64):
%12738 = arith.divf %arg3, %cst_899 : f64
linalg.yield %12738 : f64
} -> tensor<2x32x1x1xf64>
%3057 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3056 : tensor<2x32x1x1xf64>) outs(%56 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f64, %arg4: f32):
%12738 = arith.truncf %arg3 : f64 to f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%3058 = linalg.fill ins(%cst_894 : f32) outs(%56 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32>
%3059 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3046 : tensor<2x32x40x256xf32>) outs(%3058 : tensor<2x32x1x1xf32>) {
^bb0(%arg3: f32, %arg4: f32):
%12738 = arith.addf %arg3, %arg4 : f32
linalg.yield %12738 : f32
} -> tensor<2x32x1x1xf32>
%3060 = linalg.generic {indexing_maps = [#map12, #map11], iterator_types = ["parall
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment